Support the Project β€οΈ
If this package helps you in production or saves development time, consider supporting β
No Keyboard TextField
A Flutter widget that allows text input without opening the soft keyboard while keeping focus active.
Designed for barcode scanners, RFID readers, kiosks, and hardware keyboard workflows.
Unlike a normal TextField, this widget accepts input but prevents the OS virtual keyboard from appearing.
Why this package?
In many enterprise apps (warehouse, logistics, POS, factory systems), input comes from a scanner device, not a user typing.
Normal TextField behavior:
- Focus gained β mobile keyboard opens
- UI blocked
- Scanner workflow disturbed
This widget:
- Keeps focus
- Accepts input
- Blocks virtual keyboard
Perfect scanner UX π
Features
β Prevents soft keyboard (Android & iOS) β Prevents Windows touch keyboard (TabTip) β Keeps focus active β Supports barcode & hardware scanners β Works in kiosk mode β Desktop typing works normally β Adaptive selection toolbar β Zero dependencies
Platform Support
| Platform | Supported |
|---|---|
| Android | β |
| iOS | β |
| Windows | β |
| Linux | β |
| macOS | β |
| Web | β |
Installation
Add dependency:
dependencies:
no_keyboard_textfield: ^1.0.3
Then run:
flutter pub get
Usage
final controller = TextEditingController();
NoKeyboardEditableText(
controller: controller,
autofocus: true,
style: const TextStyle(fontSize: 18, color: Colors.black),
cursorColor: Colors.blue,
onSubmitted: (value) {
print("Scanned: $value");
},
)
Common Use Cases
β’ Warehouse scanning apps β’ Delivery tracking systems β’ POS billing software β’ Self-service kiosks β’ Industrial tablets β’ Attendance systems (RFID/QR)
How it works
The widget overrides Flutterβs EditableText input connection:
- Mobile β hides soft keyboard
- Windows β clears text input client (prevents touch keyboard)
- Desktop/Web β keeps normal typing behavior
So scanner input works without UI interruption.
Notes
Some barcode scanners automatically send an ENTER key after scan.
Use onSubmitted to capture full scan value.
Example Workflow
- User taps field β no keyboard opens
- Scanner scans barcode
- Value appears instantly
- ENTER triggers submit
Smooth enterprise UX β
Contributing
Pull requests and feature suggestions are welcome.
If you use this package in a production app, feel free to share feedback.
License
MIT License