флаттер Событие ввода не найдено на zebra tc77?

Нам нужно сканировать с помощью zebra tc77, но ввести событие, не найденное в конце текста, даже после того, как мы включили клавишу ввода в настройках?

      
  _onChangeListener(String val) {
    if(val.isEmpty) return;
    SystemChannels.textInput.invokeMethod('TextInput.hide');
    Log.d("onChange $val");
    Log.d("Last char as int ${val.codeUnitAt(val.length -1)}");

    setState(() {
      logs.add("Scanned data : $val, length : ${val.length}");
      logs.add("Last char as int ${val.codeUnitAt(val.length -1)}");
      if(val.codeUnitAt(val.length -1) == 13){
        logs.add("Enter key found as logical key (13)");
      } else {
        logs.add("Enter key not found as logical key");
      }

      if(val.contains('\n') || val.contains('\r')){
        logs.add("Enter key found as character");
      } else {
        logs.add("Enter key not found as character");
      }
    });

    return;
}

1 ответ

я использовал rawkeyboardlistener для получения события сканирования

      RawKeyboardListener(
 onKey:(RawKeyEvent event) {
    String e = event.character ?? '';
    if (e.isNotEmpty && isValid(e) || e == '-') {
      Log.d("Shelf Data ${e}");
      scanData += e;
    }
    if (e == '\n' || e == '\r') {
      Log.d("Entered Shelf");
          scanShelfTextField.clear();
        });
      }
    })
Другие вопросы по тегам