October 25, 2024
Chicago 12, Melborne City, USA
Android

How can I keep the system keyboard fixed while receiving input from a Bluetooth HID device in a Flutter app?


Problem

I’m trying to use Bluetooth Barcord Reader with Flutter App.
When I build in Android and use Reader,
the keyboard repeat hide – show.

@override
Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
            backgroundColor: Theme.of(context).colorScheme.inversePrimary,
            title: Text(widget.title),
        ),
        body: const Center(
            child: Padding(
                padding: EdgeInsets.all(8.0),
                child: TextField(),
            ),
        ),
    );
}

result gif

this is my flutter doctor

> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
Flutter (Channel stable, 3.22.0, on macOS 14.5 23F79 darwin-arm64, locale ko-KR)
Android toolchain - develop for Android devices (Android SDK version 34.0.0)
Android Studio (version 2023.3)
VS Code (version 1.92.2)

I checked with Android native code, and it was find.

Of course adding keyboardType: TextInputType.none works ok,
but I want to show the system keyboard.
Is there any advice?


this is the log from Android – MainActivity – dispatchKeyEvent
[

KeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_CTRL_LEFT, scanCode=29, metaState=META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x8, ...}  
KeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x8, ...}  
KeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_CTRL_LEFT, scanCode=29, metaState=META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x8, ...}  
KeyEvent: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x8,...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_CTRL_LEFT, scanCode=29, metaState=META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x28, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x28, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_CTRL_LEFT, scanCode=29, metaState=META_CTRL_ON|META_CTRL_LEFT_ON, flags=0x28, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_9, scanCode=10, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_7, scanCode=8, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_9, scanCode=10, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_1, scanCode=2, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_1, scanCode=2, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_5, scanCode=6, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_5, scanCode=6, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_8, scanCode=9, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_1, scanCode=2, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_1, scanCode=2, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_8, scanCode=9, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_5, scanCode=6, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_6, scanCode=7, ...}  
KeyEvent: KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ENTER, scanCode=28, ...}

]



You need to sign in to view this answers

Leave feedback about this

  • Quality
  • Price
  • Service

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video