Portál AbcLinuxu, 26. dubna 2024 11:09


Dotaz: scancodes, keycodes zavislost

7.2.2003 10:58 Zaphod | skóre: 37 | blog: zaphod_blog
scancodes, keycodes zavislost
Přečteno: 179×
Odpovědět | Admin
Ako sa vytvara prepojenie medzi scancode a keycode a akciou v systeme. Napriklad klavesa delete mi vypise
showkey -s
0xe0 0x2a 0xe0 0x53 0xe0 0xd3 0xe0 0xaa
showkey -k
keycode 111 press
keycode 111 release

Chcel by som priradit tlacitkam na ATI Remote nejaku akciu(program, znak). showkey -s mi vypise kod, showkey -k uz nie (to iste robi aj napriklad pri troch novych klavesach vypnutie/zapnutie/sleep ktore su na novych klavesniciach)

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.2.2003 12:09 Beda
Rozbalit Rozbalit vše scancodes, keycodes zavislost
Odpovědět | | Sbalit | Link | Blokovat | Admin

scancode u din nebo ps2 klavesnice (nevim jak je to s usb) je cislko, ktery se cte z portu tam kam je posila klavesnice. scancode je neco silne hardwarove zavisleho a tezko budete nutit klavesnici, aby posilala jiny scancode. pri psani se generuje nejaka posloupnost preruseni a hodnot pr:
ESC-stisk: preruseni jednou(tusim 8 nebo 9), hodnota na portu 1
pri uvolneni ma klavesnice poslat scancode ||(or) 0x80 pokud jde o rozsirene klvesy, tak jde vetsinou o posloupnost vice znaku vetsinou je ta posloupnost slozena z jedne nebo vice dvojic, kde prvni znak ve dvojici oznacuje, ze jde o rozsireny kod a druhy z dvojice udava o jaky. obycejne klavesy s jednim scankodem posilaji v podstate jako priznak stlaceni 8bitu rozsirene klavesy posilaji pro zmenu obvykle (8:ext, 8:hi, 8:ext, 8:lo) ext je kod ktery ozncuje ze nasleduje cast rozsireneho kodu klavesy, hi je tusim vyssich 8 bitu a lo je tusim nizsich 8 bitu, takze sipka nahodu na me klavesnici by mela mit kod 0x2A48h ktery je v drate kodovan 0xE02AE048h

po sem to byly snad vsechno fakta a ted zacinaji odhady a spekulace
keycode je neco co si urci jaderna cast kolem nekde kolem(spis jeste pred) console. snad jde o nejakou tabulku jak prelozit sekvence scancode do keycode. protoze scncode muze posilat ruzny zarizeni jinak, ale porad jde o znakovy vstup, ktery ma byt podle jadra dorucen programu a ktery ma nejaky vyznam ktery program nemuze zjistit dokud ho nekdo nezapise natvrdo. pokud chcete mit prebytecny znak, ktery mozna bude pusobit nekterym programum problemy, tak pridejte preklad scancode->keycode, podle me to ale neni nejstastnejsi reseni, protoze pri prepnuti tty se bude ta extra klavesa dorucovat programu na novem tty -> mizerna ovladatelnost hlasitosti misto toho je rozumejsi chytat uz scancodes podobne jak to dela showkey -s, ale vracet je zpatky jadru a v pripade, ze se objevi nejaka posloupnost v pozadovne delce hodnote, tak na ni udelat ovladani hlasitosti, (vy/za)souvani cd, vysouvani zip, hlasitost zvukovky, tv tuneru atd atd.
tusim ze neco podobneho se snazi delat uz nejaky demon, jehoz jmeno jsem davno zapomel

7.2.2003 12:15 Beda
Rozbalit Rozbalit vše scancodes, keycodes zavislost

pro pridani keycode bych asi hledal nekde kolem hlasky ktera zacina slovy "AT keybord not present"

dalsi vec jsou Xka, ty nejspis odstavi jadro od konzole a pouzivaji vlstni kus kodu, takze v xkach snad jediny na co se da spolehnout jsou scancodes a zdrojaky starajici se o jejich preklad v baliku X

Stanislav Brabec avatar 7.2.2003 13:11 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše scancodes, keycodes zavislost
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ovladač ati_remote je trochu zprasený - přímo v ovladači převádí rádiové kódy na jiné kódy, které by generovala běžná USB klávesnice a které pak po přeložení v Xech dají rozumný kód (např. XF86LowerVolume). Takže chcete-li přemapovat ati_remote, zatím vám nezbývá nic jiného, než se povrtat v souboru ati_remote.c.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.