I want to force all input from any devices to specific text box within anywhere of page.
So I write this code to handle keyboard input and barcode scanner input.
The event for keyboard is no problem, but I don't know how to write the event for barcode scanner.
If I use keydown for barcode scanner, the event will be called every character, then I can get the last character only.
I expect there is an event for every single scan.
<input type=text id=in>
<script>
var input = document.querySelector("#in")
var body = document.querySelector("body")
body.addEventListener("keydown", forKeyboard)
body.addEventListener("???????", forBarcodeScanner)
function forKeyboard(event){
let printable = event.key.length === 1
if(event.key === 'Delete'){
input.value = ''
}
if(printable){
input.value += event.key
}
}
function forBarcodeScanner(event){
input.value = ''
input.value = event.key
console.log(event.key)
}
</script>