İçeriğe atla

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.