Reputation: 460
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
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
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