┌vod
Hledat
OvladaΦe
Hardware
Software
AbφΦko
O nßs

386 - Vstupnφ za°φzenφ - Klßvesnice - Item 4332

Otßzka

Datum: 7. 2. 2003 10:58
Od: Anton Kuco
Titulek: scancodes, keycodes zavislost

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

Datum: 7. 2. 2003 12:09
Od: Beda
Titulek: scancodes, keycodes zavislost

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

Datum: 7. 2. 2003 12:15
Od: Beda
Titulek: 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

Datum: 7. 2. 2003 13:11
Od: Stanislav Brabec
Titulek: scancodes, keycodes zavislost

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.


(c) AbcLinuxu s.r.o.   Grafika: megadesign