如何区分键盘和条码枪的按键事件

om.*_*om. 4 java

我必须根据从条码枪获得的按键事件而不是键盘按键事件将焦点设置在文本字段上。我应该如何区分这些按键事件?

Sve*_*cht 5

根据我的经验,这是不可能的。

并非没有一点魔法。例如,如果您使用条形码枪扫描某些内容,则输入文本的速度比任何人可能输入的速度要快得多,但仍然比复制/粘贴慢。

所以要分析速度和内容。

当您想要扫描可验证的条形码时,这变得非常容易。

last_up = 0
input_cache = ""

key_up(key) {
  if ((time.now() - last_up) > 1) {// seconds
     input_cache = ""
     last_up = 0
  } else {
    input_cache += key
    if (IsValidBarcode(input_cache)) {
      doSomething()
    }
  }
  last_up = time.now()
}
Run Code Online (Sandbox Code Playgroud)