Portál AbcLinuxu, 5. května 2025 00:56
Místo staré dobré ocáskové klávesnice a myši jsem si koupil bezdrátový set: MICROSOFT Wireless Optical Desktop 3.0
Na multimedialni klavesy jsem byl zvyklí používat xbindkeys, bohužel xbindkeys -k ani -mk mi nebylo schopné zobrazit co za klávesu bylo stlačeno (z 24 klaves funguje asi 11). Zkoumal jsem kde je zrada pomocí showkey, getkeycodes a tam také nebylo nic detekováno.
Proto jsem si dopsal do $KERNEL/drivers/usb/input/hid-input.c několik debugovacích výpisů, že zjistím, které klávesy to ignoruje a dopíšu si nějaké definice, bohužel toho je dost a takovým naivním přístupem jsem to nedokázal rozpoznat.
Dalším krokem tedy bylo napsat si usbrawreader, který mi vypisuje všechny data z daného vendor/product/interface. Teď už mám obrázek kláves + raw data které z nich chodí.
Ještě tyto data potřebuji nějak zužitkovat v hid-input.c a pak se uvidí jestli tahle Microsoftí pomsta stála za tu námahu.
Znáte nebo Vás napadá nějaký jednodušší způsob jak toto rešit? Ještě jsem se díval na nejaké utilitky na reverzní inženýrství odchytávající události z USB pod Windows, bohužel nemam k dispozici Windows, kde bych to mohl otestovat.
Tiskni
Sdílej:
dmesgkdyz mackate ty klavesy. Na moji klavesnici to psalo neco ve stylu scancode XXX not known use setkeycode e0xx keycode to make it known (ted kecam, horko tezko si vzpominam). Pak uz nic nebrani tomu aby
xevty klavesy videl pod tim danym keycodem a slo na ne neco nastavit.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.