Barcode Scanner Emulator
HID Keyboard Wedge Açıklaması
Keyboard wedge, barkod okuyucuların ezici çoğunluğu için varsayılan çalışma modudur. Bu kılavuz bunun ne olduğunu, USB düzeyinde nasıl çalıştığını ve uygulamanızı test etmek için ne anlama geldiğini açıklar.
Keyboard wedge nedir?
Terim, klavye ile bilgisayar bağlantı noktası arasına gerçekten “kama” gibi yerleştirilen, klavye sinyalini yakalayıp taranan karakterleri içine enjekte eden eski seri bağlantı noktası okuyucularından gelir. Modern okuyucuların fiziksel kamaya ihtiyacı yoktur; ifade artık bağlantı türünden bağımsız olarak taranan veriyi klavyeden gelmiş gibi sunan her okuyucuyu anlatır.
USB HID ve klavye öykünmesi
USB, klavyeler, fareler ve benzeri giriş aygıtları için özel bir Human Interface Device (HID) sınıfı tanımlar. Bir okuyucu USB üzerinde HID klavye olarak numaralandığında işletim sistemi kendi genel, yerleşik klavye sürücüsünü yükler; okuyucuya özel bir sürücü gerekmez. Okuyucunun sabit yazılımı çözümlenen her karakteri fiziksel bir klavyenin göndereceği HID tuş koduna dönüştürür ve raporlar, herhangi bir USB klavyenin kullandığı kesme aktarımıyla iletilir.
Uygulamanız okuyucu girişini nasıl görür
Hızlı tuş vuruşu patlaması ile insan yazımı: okuyucu yükün tamamını hızlı bir keydown/keyup çifti dizisi olarak gönderir ve barkod uzunluğundan bağımsız olarak genellikle bir saniyenin altında bitirir.
Fare olayı yoktur: HID klavye modundaki okuyucular hiçbir zaman işaretçi, tıklama veya odak olayı üretmez. Tarama sırasında alan odakta değilse giriş kaybolur veya odağın bulunduğu öğeye gider.
Yapıştırma olayı yoktur: veri pano işlemi olarak değil tek tek tuş vuruşları olarak geldiği için paste olay işleyicileri okuyucu girişini görmez ve yalnızca paste dinleyen giriş maskeleri bunu sessizce kaçırır.
Klavye düzeni sorunları
Yanlış karakterler neden görünür: okuyucu, çözümlenen karakterleri kendi yapılandırılmış klavye düzenine göre HID tuş kodlarına eşler. Bu düzen işletim sisteminin klavye düzeniyle uyuşmazsa karakterler yer değiştirebilir. Klasik belirti, QWERTY ile AZERTY sistemlerinde rakamların veya noktalama işaretlerinin yanlış karakter olarak taranmasıdır.
Yerel ayar uyuşmazlığı: bu bir yazılım hatası değil, okuyucu tarafı yapılandırma sorunudur. Çoğu okuyucu, kılavuzunda basılı yapılandırma barkodlarıyla yerel ayar değiştirmeyi destekler. Düzeltme, uygulama kodunu değiştirmek değil okuyucuyu işletim sisteminin yerel ayarıyla eşleşecek şekilde yeniden programlamaktır.
Önekler ve sonekler
Okuyucular genellikle yükün çevresinde yapılandırılabilir önek ve sonek dizilerini destekler. En yaygın sonek değerleri ENTER (CR, 0x0D), TAB (0x09) ve ara sıra tam bir CR+LF çiftidir. Önekler daha az yaygındır ama eski terminal uygulamalarında taramaları belirli alanlara yönlendirmek için kullanılır.
Tarayıcıda testin sınırları
Bir tarayıcı ham USB HID paketlerini göremez, bağlı HID aygıtlarını özellikle bir okuyucu olarak numaralandıramaz (çoğu okuyucunun veri sunmadığı WebHID API dışında) ve HID klavye modundaki bir okuyucuyu gerçek bir klavyeden ayırt edemez. JavaScript’in erişebildiği tek şey tarayıcıda görünen klavye olaylarıdır (keydown, keyup, keypress); bu sitedeki araçlar da tam olarak bunları inceler.
İlgili
Ham klavye olaylarını incelemek için Klavye Olayı Test Aracı kullanın veya sonek yapılandırması ayrıntıları için Barkod Okuyucularda ENTER ve TAB Sonekleri kılavuzunu okuyun.