386
-
Vstupnφ za°φzenφ
-
Klßvesnice
-
Item 4332
Otßzka
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)
Odpov∞di
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
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
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.
|