Investigue un poco y veo que el escáner es como un teclado y no es conveniente bloquearlo, así que otra forma de hacer esto es considerar el tiempo… Te dejo una función con jQuery, espero sirva.
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$("#Scaner_Barcode").on("input", function() {
delay(function(){
if ($("#Scaner_Barcode").val().length < 12) {
$("#Scaner_Barcode").val("");
}
}, 20 );
});