marto
marto

Reputation: 460

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

I configured the scanner to send Enter at the end of the input and js reads it correctly but the other characters are lost.

I have tried to decode the input characters with event.keyCode, event.which, event.charCode and nothing works. If I attach it to normal input it works. It also works in the browser address bar (chrome). But when I attach it to the document['onkeypress'] it doesn't read the characters.

I tried Martin Orth solution from here: https://developer.zebra.com/thread/35513 but I couldn't make it work I even don't know if it's the same scanner.

From here I understood that the scanner is sending ASCII characters and javascript has no mechanizm to read them? https://developer.zebra.com/thread/34536

If anyone knows the solution to this problem, help is highly appreciated. I prefer with js/jquery if it is possible at all.

Upvotes: 1

Views: 3965

Answers (2)

Darryn Campbell
Darryn Campbell

Reputation: 1536

This feature, using keypress, was recently added to DataWedge 7.3 which is included in the latest MC33 OS update (02.13.15 - LG Update 16) - I wrote a blog about how to use it: https://developer.zebra.com/blog/listening-keypress-events-datawedge. For clarity, I work for Zebra

Upvotes: 2

imvain2
imvain2

Reputation: 15847

What this code does is it creates an input focuses on it, but absolutely positions off screen becacuse IE has a problem with focusing on hidden text fields. Then detects changes to the input and outputs that for now to console.

$(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">

Upvotes: 4

Related Questions