Skip to content

Remapped CapsLock to Backspace throws error when used #114591

Closed

Description

@gruvw

Description

I have remapped the CapsLock key to Backspace at OS level, but I can't use it in flutter applications.

When trying to delete text inside TextField using the CapsLock I get the following error (and the characters are not deleted), using target device Linux Desktop:

=════════ Exception caught by services library ══════════════════════════════════
Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags. This was the event: RawKeyDownEvent#ba79a(logicalKey: LogicalKeyboardKey#00008(keyId: "0x100000008", keyLabel: "Backspace", debugName: "Backspace"), physicalKey: PhysicalKeyboardKey#70039(usbHidUsage: "0x00070039", debugName: "Caps Lock"), repeat: false) and its data: RawKeyEventDataLinux#4f50b(toolkit: GTK, unicodeScalarValues: 8, scanCode: 66, keyCode: 65288, modifiers: 33554432, isDown: true)

The remap always worked perfectly in other (non flutter) linux desktop applications.

When using Chrome as target I get the following error:

══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
Assertion failed:
file:///home/gruvw/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:682:7
../…/services/raw_keyboard.dart:682
event is! RawKeyDownEvent || _keysPressed.isNotEmpty
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
event being sent doesn't properly set its modifier flags. This was the event:
RawKeyDownEvent#e94da(logicalKey: LogicalKeyboardKey#c2435(keyId: \"0x100000104\", keyLabel: \"Caps
Lock\", debugName: \"Caps Lock\"), physicalKey: PhysicalKeyboardKey#70039(usbHidUsage:
\"0x00070039\", debugName: \"Caps Lock\"), repeat: false) and its data:
RawKeyEventDataWeb#c3920(code: CapsLock, key: Backspace, location: 0, metaState: 0, keyCode: 8)"
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3        assertFailed
packages/flutter/src/services/raw_keyboard.dart 682:49                            handleRawKeyEvent
packages/flutter/src/services/hardware_keyboard.dart 878:30                       handleRawKeyMessage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/hardware_keyboard.dart 850:51                       handleRawKeyMessage
packages/flutter/src/services/platform_channel.dart 197:49                        <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/platform_channel.dart 196:58                        <fn>
packages/flutter/src/services/binding.dart 387:35                                 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/binding.dart 384:98                                 <fn>
lib/_engine/engine/platform_dispatcher.dart 1199:13                               invoke2
lib/ui/channel_buffers.dart 25:12                                                 invoke
lib/ui/channel_buffers.dart 65:7                                                  push
lib/ui/channel_buffers.dart 130:16                                                push
lib/_engine/engine/platform_dispatcher.dart 364:25                                invokeOnPlatformMessage
lib/_engine/engine/keyboard.dart 130:39                                           [_handleHtmlEvent]
lib/_engine/engine/keyboard.dart 32:7                                             <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39  dcall
════════════════════════════════════════════════════════════════════════════

However, it correctly deletes a character on web target.

Logs
flutter run --verbose
[  +33 ms] executing: uname -m
[  +16 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +3 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +4 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] d9111f64021372856901a1fd5bfbc386cade3318
[        ] executing: [/home/gruvw/snap/flutter/common/flutter/] git tag --points-at d9111f64021372856901a1fd5bfbc386cade3318
[  +11 ms] Exit code 0 from: git tag --points-at d9111f64021372856901a1fd5bfbc386cade3318
[        ] 3.3.5
[  +28 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] origin/stable
[        ] executing: [/home/gruvw/snap/flutter/common/flutter/] git ls-remote --get-url origin
[   +4 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +35 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git rev-parse --abbrev-ref HEAD
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +28 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +29 ms] executing: /home/gruvw/Android/Sdk/platform-tools/adb devices -l
[  +21 ms] List of devices attached
[   +2 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +35 ms] Multiple devices found:
[  +26 ms] Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.1 LTS 5.15.0-52-generic
[        ] Chrome (web)    • chrome • web-javascript • Brave Browser 106.1.44.112
[        ] [1]: Linux (linux)
[        ] [2]: Chrome (chrome)
[        ] Please choose one (To quit, press "q/Q")
[        ] : 
[+7410 ms] 1
[  +16 ms] Skipping pub get: version match.
[  +79 ms] Generating /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +52 ms] Initializing file store
[   +5 ms] Skipping target: gen_localizations
[   +3 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents:
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/.dart_tool/package_config_subset}
[  +12 ms] gen_dart_plugin_registrant: Complete
[        ] Skipping target: _composite
[   +1 ms] complete
[   +2 ms] Launching lib/main.dart on Linux in debug mode...
[   +2 ms] /home/gruvw/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
/home/gruvw/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dart.snapshot --sdk-root
/home/gruvw/snap/flutter/common/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter --debugger-module-names
--experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill /tmp/flutter_tools.WIWAWE/flutter_tool.VMHFXU/app.dill --packages
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts
--track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill --verbosity=error
--enable-experiment=alternative-invalidation-strategy
[  +13 ms] Building Linux application...
[   +5 ms] <- compile package:app_0byte/main.dart
[   +5 ms] executing: [build/linux/x64/debug/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLUTTER_TARGET_PLATFORM=linux-x64
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux
[  +23 ms] -- Configuring done
[   +7 ms] -- Generating done
[        ] -- Build files have been written to: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug
[   +2 ms] executing: ninja -C build/linux/x64/debug install
[   +6 ms] ninja: Entering directory `build/linux/x64/debug'
[+1641 ms] [1/5] Generating /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/libflutter_linux_gtk.so,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_engine.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_method_call.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_value.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/fl_view.h,
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, _phony_
[   +1 ms] [  +36 ms] executing: uname -m
[        ] [  +18 ms] Exit code 0 from: uname -m
[        ] [        ] x86_64
[        ] [   +3 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [   +3 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] d9111f64021372856901a1fd5bfbc386cade3318
[        ] [        ] executing: [/home/gruvw/snap/flutter/common/flutter/] git tag --points-at d9111f64021372856901a1fd5bfbc386cade3318
[        ] [  +11 ms] Exit code 0 from: git tag --points-at d9111f64021372856901a1fd5bfbc386cade3318
[        ] [        ] 3.3.5
[        ] [  +35 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] stable
[        ] [  +28 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [  +50 ms] executing: [/home/gruvw/snap/flutter/common/flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] [   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] [        ] origin/stable
[        ] [        ] executing: [/home/gruvw/snap/flutter/common/flutter/] git ls-remote --get-url origin
[        ] [   +3 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [        ] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +23 ms] Initializing file store
[        ] [   +3 ms] Done initializing file store
[        ] [  +21 ms] Skipping target: gen_localizations
[        ] [   +5 ms] Skipping target: gen_dart_plugin_registrant
[        ] [ +346 ms] Skipping target: unpack_linux
[        ] [ +251 ms] Skipping target: kernel_snapshot
[        ] [ +189 ms] Skipping target: debug_bundle_linux-x64_assets
[        ] [        ] Persisting file store
[        ] [   +5 ms] Done persisting file store
[        ] [   +3 ms] build succeeded.
[        ] [   +3 ms] "flutter assemble" took 927ms.
[        ] [ +224 ms] ensureAnalyticsSent: 222ms
[        ] [   +1 ms] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[ +207 ms] [2/5] Building CXX object CMakeFiles/app_0byte.dir/flutter/generated_plugin_registrant.cc.o
[  +35 ms] [3/5] Building CXX object CMakeFiles/app_0byte.dir/my_application.cc.o
[  +83 ms] [4/5] Linking CXX executable intermediates_do_not_run/app_0byte
[        ] [4/5] Install the project...
[   +5 ms] -- Install configuration: "Debug"
[   +7 ms] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/app_0byte
[        ] -- Set runtime path of "/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/app_0byte" to "$ORIGIN/lib"
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/icudtl.dat
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so
[  +30 ms] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/NOTICES
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/shaders
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/shaders/ink_sparkle.frag
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/kernel_blob.bin
[  +28 ms] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/NOTICES.Z
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/FontManifest.json
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/MaterialIcons-Regular.otf
[   +1 ms] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/FiraCode-Bold.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/FiraCode-Light.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/FiraCode-SemiBold.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/FiraCode-Regular.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/fonts/FiraCode-Medium.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/packages
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets
[        ] -- Installing:
/home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/version.json
[        ] -- Installing: /home/gruvw/SynologyDrive/Programmation/Mobile/0byte/build/linux/x64/debug/bundle/data/flutter_assets/AssetManifest.json
[   +6 ms] Building Linux application... (completed in 2,104ms)
[ +134 ms] Observatory URL on device: http://127.0.0.1:33607/Xg-XXGclkN0=/
[   +1 ms] Caching compiled dill
[  +27 ms] Connecting to service protocol: http://127.0.0.1:33607/Xg-XXGclkN0=/
[ +104 ms] Launching a Dart Developer Service (DDS) instance at
http://127.0.0.1:0, connecting to VM service at
http://127.0.0.1:33607/Xg-XXGclkN0=/.
[  +53 ms] DDS is listening at http://127.0.0.1:44127/gI228-XfMxg=/.
[  +32 ms] Successfully connected to service protocol:
http://127.0.0.1:33607/Xg-XXGclkN0=/
[  +25 ms] DevFS: Creating new filesystem on the device (null)
[  +11 ms] DevFS: Created new filesystem on the device
(file:///tmp/0byteXFIJBH/0byte/)
[   +1 ms] Updating assets
[  +37 ms] Syncing files to device Linux...
[        ] Compiling dart to kernel with 0 updated files
[        ] Processing bundle.
[        ] <- recompile package:app_0byte/main.dart
50cd6deb-0095-495f-b777-27ebecdb4b21
[        ] <- 50cd6deb-0095-495f-b777-27ebecdb4b21
[        ] Bundle processing done.
[  +58 ms] Updating files.
[        ] DevFS: Sync finished
[        ] Syncing files to device Linux... (completed in 61ms)
[        ] Synced 0.0MB.
[        ] <- accept
[   +1 ms] Connected to _flutterView/0x2c2eec0.
[   +1 ms] Flutter run key commands.
[        ] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application
running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] 💪 Running with sound null safety 💪
[        ] An Observatory debugger and profiler on Linux is available at:
           http://127.0.0.1:44127/gI228-XfMxg=/
[ +527 ms] The Flutter DevTools debugger and profiler on Linux is available at: http://127.0.0.1:9102?uri=http://127.0.0.1:44127/gI228-XfMxg=/
[+6738 ms] ** (app_0byte:371200): WARNING **: 09:55:52.454: Unable to retrieve framework response: Message is not valid JSON
[   +5 ms] 
           ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
           The following assertion was thrown during a platform message callback:
           Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
           event being sent doesn't properly set its modifier flags. This was the event:
           RawKeyDownEvent#a6a88(logicalKey: LogicalKeyboardKey#00008(keyId: "0x100000008", keyLabel:
           "Backspace", debugName: "Backspace"), physicalKey: PhysicalKeyboardKey#70039(usbHidUsage:
           "0x00070039", debugName: "Caps Lock"), repeat: false) and its data:
           RawKeyEventDataLinux#d03ab(toolkit: GTK, unicodeScalarValues: 8, scanCode: 66, keyCode: 65288,
           modifiers: 33554432, isDown: true)
           'package:flutter/src/services/raw_keyboard.dart':
           Failed assertion: line 682 pos 7: 'event is! RawKeyDownEvent || _keysPressed.isNotEmpty'
           
           Either the assertion indicates an error in the framework itself, or we should provide substantially
           more information in this error message to help you determine and fix the underlying cause.
           In either case, please report this assertion by filing a bug on GitHub:
             https://github.com/flutter/flutter/issues/new?template=2_bug.md
           
           When the exception was thrown, this was the stack:
           #2      RawKeyboard.handleRawKeyEvent (package:flutter/src/services/raw_keyboard.dart:682:7)
           #3      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:878:30)
           #4      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:197:49)
           #5      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:387:35)
           #6      _invoke2 (dart:ui/hooks.dart:186:13)
           #7      _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
           #8      _Channel.push (dart:ui/channel_buffers.dart:132:31)
           #9      ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
           #10     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:599:22)
           #11     _dispatchPlatformMessage (dart:ui/hooks.dart:89:31)
           (elided 2 frames from class _AssertionError)
           ════════════════════════════════════════════════════════════════════════════════════════════════════
[+7670 ms] Service protocol connection closed.
[        ] Lost connection to device.
[        ] DevFS: Deleting filesystem on the device (file:///tmp/0byteXFIJBH/0byte/)
[   +1 ms] (app_0byte:371200): GLib-GObject-WARNING **: 09:56:00.132: ../../../gobject/gsignal.c:2731: instance '0x20681b0' has no handler with id '113'
[ +252 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[   +5 ms] "flutter run" took 25,542ms.
[  +94 ms] ensureAnalyticsSent: 89ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0
flutter doctor -v
[✓] Flutter (Channel stable, 3.3.5, on Ubuntu 22.04.1 LTS 5.15.0-52-generic, locale en_US.UTF-8)
    • Flutter version 3.3.5 on channel stable at /home/gruvw/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9111f6402 (2 weeks ago), 2022-10-19 12:27:13 -0700
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /home/gruvw/Android/Sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /home/gruvw/Android/Sdk
    • Java binary at: /snap/android-studio/current/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /opt/brave.com/brave/brave-browser

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2021.2)
    • Android Studio at /snap/android-studio/123/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio
    • Android Studio at /snap/android-studio/current/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /snap/android-studio/current/android-studio
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.72.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.52.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 22.04.1 LTS 5.15.0-52-generic
    • Chrome (web)    • chrome • web-javascript • Brave Browser 106.1.44.112

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Environment

  • OS: Ubuntu 22.04.1 LTS x86_64
  • Dart: Dart SDK version: 2.18.2 (stable)
  • Flutter: Flutter 3.3.5 • channel stable

Activity

  1. exaby73 commented on Nov 3, 2022

    @exaby73
    Member

    Triage report

    I can reproduce this issue with Ubuntu 22.04 on Master (3.5.0-12.0.pre.94). I remaped my Caps Lock by following these steps.

    Error logs
    ** (issue_114591:62623): WARNING **: 20:00:24.396: Unable to retrieve framework response: Message is not valid JSON
    
    ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
    The following assertion was thrown during a platform message callback:
    Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
    event being sent doesn't properly set its modifier flags. This was the event:
    RawKeyDownEvent#90574(logicalKey: LogicalKeyboardKey#147d9(keyId: "0x100000008", keyLabel:
    "Backspace", debugName: "Backspace"), physicalKey: PhysicalKeyboardKey#11708(usbHidUsage:
    "0x00070039", debugName: "Caps Lock"), repeat: false) and its data:
    RawKeyEventDataLinux#6ab1f(toolkit: GTK, unicodeScalarValues: 8, scanCode: 66, keyCode: 65288,
    modifiers: 0, isDown: true)
    'package:flutter/src/services/raw_keyboard.dart':
    Failed assertion: line 683 pos 7: 'event is! RawKeyDownEvent || _keysPressed.isNotEmpty'
    
    Either the assertion indicates an error in the framework itself, or we should provide substantially
    more information in this error message to help you determine and fix the underlying cause.
    In either case, please report this assertion by filing a bug on GitHub:
      https://github.com/flutter/flutter/issues/new?template=2_bug.md
    
    When the exception was thrown, this was the stack:
    #2      RawKeyboard.handleRawKeyEvent (package:flutter/src/services/raw_keyboard.dart:683:7)
    #3      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:951:30)
    #4      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:214:49)
    #5      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:392:35)
    #6      _invoke2 (dart:ui/hooks.dart:183:13)
    #7      _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:40:5)
    #8      _Channel.push (dart:ui/channel_buffers.dart:130:31)
    #9      ChannelBuffers.push (dart:ui/channel_buffers.dart:326:17)
    #10     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:664:22)
    #11     _dispatchPlatformMessage (dart:ui/hooks.dart:86:31)
    (elided 2 frames from class _AssertionError)
    ════════════════════════════════════════════════════════════════════════════════════════════════════
  2. added
    in triagePresently being triaged by the triage team
    a: text inputEntering text in a text field or keyboard related problems
    c: crashStack traces logged to the console
    engineflutter/engine related. See also e: labels.
    platform-linuxBuilding on or for Linux specifically
    has reproducible stepsThe issue has been confirmed reproducible and is ready to work on
    and removed
    in triagePresently being triaged by the triage team
    on Nov 3, 2022
  3. justinmc commented on Nov 3, 2022

    @justinmc
    Contributor
  4. bleroux commented on Nov 4, 2022

    @bleroux
    Contributor

    @justinmc @Renzo-Olivares
    I worked on several keyboard issues in the previous weeks (and Linux is my primary platform), I can work on this issue if you don't mind.

  5. Renzo-Olivares commented on Nov 7, 2022

    @Renzo-Olivares
    Contributor

    @bleroux I don't mind handing this issue off to you. And can definitely give you a review/help if necessary. Thank you :)

  6. added
    P2Important issues not at the top of the work list
    on Nov 7, 2022
  7. justinmc commented on Nov 7, 2022

    @justinmc
    Contributor

    Thanks @bleroux!

  8. self-assigned this
    on Nov 8, 2022
  9. moved this to To do in Nevercodeon Nov 8, 2022
  10. moved this from To do to In progress in Nevercodeon Nov 8, 2022
  11. added
    frameworkflutter/packages/flutter repository. See also f: labels.
    platform-webWeb applications specifically
    and removed
    engineflutter/engine related. See also e: labels.
    on Nov 9, 2022
  12. moved this from In progress to PR submitted in Nevercodeon Nov 10, 2022
  13. added
    r: fixedIssue is closed as already fixed in a newer version
    on Nov 21, 2022
  14. Repository owner moved this from PR submitted to Done (PR merged) in Nevercodeon Nov 21, 2022
  15. github-actions commented on Dec 5, 2022

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  16. locked as resolved and limited conversation to collaborators on Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: text inputEntering text in a text field or keyboard related problemsc: crashStack traces logged to the consolefound in release: 3.3Found to occur in 3.3found in release: 3.4Found to occur in 3.4frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-linuxBuilding on or for Linux specificallyplatform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

  • Status
    Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions