如何从 Zebra mc330m 扫描仪捕获 javascript 中 window 上的文档 [keypress] 上的输入?

How to catch input on document[keypress] on window in javascript from Zebra mc330m scanner?

我将扫描仪配置为在输入末尾发送 Enter 并且 js 正确读取它但其他字符丢失了。

我尝试用 event.keyCode、event.which、event.charCode 解码输入字符,但没有任何效果。如果我将它附加到正常输入,它就可以工作。 它也适用于浏览器地址栏 (chrome)。但是当我将它附加到文档['onkeypress']时它不读取字符。

我从这里尝试了 Martin Orth 的解决方案:https://developer.zebra.com/thread/35513 但我无法让它工作我什至不知道它是否是同一台扫描仪。

从这里我了解到扫描仪正在发送 ASCII 字符,而 javascript 没有读取它们的机制? https://developer.zebra.com/thread/34536

如果有人知道此问题的解决方案,我们将不胜感激。如果可能的话,我更喜欢js/jquery。

此代码的作用是创建一个聚焦于它的输入,但绝对定位在屏幕之外,因为 IE 在聚焦于隐藏文本字段时存在问题。然后检测输入的变化并输出到控制台。

$(document).ready(function(){
     $(".scanner-input").focus().on("input",function(){
          let barcode = $(this).val();
          console.log(barcode);
          $(this).val("");
     }).blur(function(){
         $(this).focus();
     });
});
.scanner-input{position:absolute;left:-10000px;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" class="scanner-input">

这个使用按键的功能最近被添加到 DataWedge 7.3 中,它包含在最新的 MC33 OS 更新(02.13.15 - LG 更新 16)中 - 我写了一篇关于如何使用它的博客: https://developer.zebra.com/blog/listening-keypress-events-datawedge。为清楚起见,我为 Zebra

工作