В настоящее время я пытаюсь разработать приложение, которое поддерживает некоторые внешние считыватели штрих-кодов (например, Zebra DS2278 с Bluetooth).
У меня это работает на ПК. Я написал некоторый код, который захватывает коды клавиш CTRL + B , которые необходимо отправить сканеру, а затем сохранить дальнейшие данные со сканера.
На самом деле, этот код в Javascript очень прост, но работает в моем приложении Angular. Это основано на коде в этом вопросе: Захват комбинации клавиш Ctrl + Z в JavaScript
function KeyPress(e){
var evtobj = window.event ? event : e;
if(evtobj.keyCode == 66 && evtobj.ctrlKey){
$scope.scannedBarcode = '';
scannedBarcode = '';
evtobj.stopPropagation();
evtobj.preventDefault();
evtobj.cancelBubble = true;
barcode = true;
return;
}
if(barcode){
if(evtobj.keyCode == 13){
barcode = false;
evtobj.cancelBubble = false;
//Do some stuff
return;
}else{
scannedBarcode = scannedBarcode + String.fromCharCode(evtobj.keyCode);
return;
}
}
}
document.onkeydown = KeyPress;
Теперь я хочу, чтобы это работало на планшетах, таких как iPad, на устройстве Android, но у них нет таких коротких кодов, как CTRL. Есть ли способ поймать коды клавиш на этих устройствах? Или у кого-нибудь есть идея, чтобы это работало как на ПК, так и на планшетах без других настроек?