Portál AbcLinuxu, 12. května 2025 06:43

Dotaz: Přemapování kláves s kódem vyšším než 255 pro použití v X11

Lukáš Benda avatar 2.5.2011 20:19 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Přemapování kláves s kódem vyšším než 255 pro použití v X11
Přečteno: 264×
Odpovědět | Admin
Ahoj, chtěl bych se zeptat, jak řešíte multimediální tlačítka v X11. Je pravda že na internetu o této problematice najdete asi pět miliónů článku ve všech možných jazycích. Nicméně všechny začínají programy Xmodmap, Xev atd. Což je evidentní jenom a vyhradně pro tlačítka s kecyode 255 a nižším. Já mám ale dálkový ovladač (bez podpory v lircd), který vrací keycode vyšší než 255 (např 406, 402 atd.). Dříve jsem používal input-evdev a přemapoval ködy v nastavení xorg-u podle návodu http://archive.pfb.no/2010/12/14/fully-working-remote-control. Bohužel tuhle cestu sem si zavřel nerozvážným upgradem systému. Dá se to řešit nějak třeba přes udev? Tam sem našel pouze možnost úpravy keysymols, ale nikde keycode. Jiny ovladac si kupovat nechci, protoze od stejneho vyrobce mam tri TV karty a tudiz tri stejne ovladace (coz chapu jako vyhodu).

P.S.: Na hledání odpovědi je nejvíce ubíjející ty záplavy pořád stejných článku na téma Xmodmap, LineEA, resp Likead, a furt dokolo a dokola v každém jazyce, pro každou distribuci a subdistribuci aspon padesatkrat.

Btw. výstup mého evtestu Input driver version is 1.0.1 Input device ID: bus 0x1 vendor 0x107d product 0x6654 version 0x1 Input device name: "cx88 IR (Leadtek WinFast DTV180" Supported events: Event type 0 (Sync) Event type 1 (Key) Event code 2 (1) Event code 3 (2) Event code 4 (3) Event code 5 (4) Event code 6 (5) Event code 7 (6) Event code 8 (7) Event code 9 (8) Event code 10 (9) Event code 11 (0) Event code 28 (Enter) Event code 52 (Dot) Event code 74 (KPMinus) Event code 78 (KPPlus) Event code 113 (Mute) Event code 114 (VolumeDown) Event code 115 (VolumeUp) Event code 116 (Power) Event code 128 (Stop) Event code 139 (Menu) Event code 142 (Sleep) Event code 164 (PlayPause) Event code 167 (Record) Event code 168 (Rewind) Event code 191 (F21) Event code 192 (F22) Event code 193 (F23) Event code 194 (F24) Event code 208 (Fast Forward) Event code 223 (Cancel) Event code 226 (Media) Event code 234 (?) Event code 355 (Clear) Event code 358 (Info) Event code 359 (Time) Event code 363 (Channel) Event code 368 (Language) Event code 370 (Subtitle) Event code 372 (Zoom) Event code 373 (Mode) Event code 377 (TV) Event code 385 (Radio) Event code 386 (Tuner) Event code 388 (Text) Event code 389 (DVD) Event code 392 (Audio) Event code 393 (Video) Event code 398 (Red) Event code 399 (Green) Event code 400 (Yellow) Event code 401 (Blue) Event code 402 (ChannelUp) Event code 403 (ChannelDown) Event code 405 (Last) Event code 407 (Next) Event code 412 (Previous) Event type 4 (Misc) Event code 4 (ScanCode) Event type 20 (Repeat) Testing ... (interrupt to exit)
Google bomba: benzin blog
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Lukáš Benda avatar 2.5.2011 21:18 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Odpovědět | | Sbalit | Link | Blokovat | Admin
No tak setkeycode by to melo vyresit, nicmene nevyresi dokud nedostanu scancody tlacitek. A ty ktere dostanu treba pres evtest, mi proste program nereaguje.

Btw. muze to byt problem toho ze vlastne chci mit na jednom pocitaci vice klavesnic (klavenici a dalkovy ovladac)? Protoze uplne nechapu jak linux prideluje keycody na scancody jednotlivych vstupnich zarizeni, asi je mozne aby dva stejne scacody z dvou ruznych zarizeni mely odlizne keycody. Ale v tom pripade by mel byt nejaky zpusob jak progrma setkeycode informovat o tom, pro ktere vstupni zarizeni je keycod nastavovan, ne?
Google bomba: benzin blog
3.5.2011 01:13 Sten
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyrobte si pro to vlastní rozložení klávesnice odvozené od toho, které používáte, to bude asi nejjednodušší řešení.
Lukáš Benda avatar 3.5.2011 11:35 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
NO o tom sem uvazoval, bohuzel v udev nemam zatim vubec zadne nastavne pro klavesnici a ani /lib/udev/keymaps neobsahuje zadnou generic keyborad mapu. A vsechny totorialy jsou dost na informace skoupe (vicemene reknou udelejte si sami a ani zadny exampl soubor neuvedou) a kdyz sem posledne chtel vytvorit jenom blby simlink na zarezeni (ktery je popsany na netu nepomerne podrobneji) neuspel sem.
Google bomba: benzin blog
Lukáš Benda avatar 3.5.2011 23:51 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Dekuji za dodani odhodlani, ze tohle je vhodna cesta. Pustil sem se do toho, a uz mi to chodi.
Google bomba: benzin blog
Lukáš Benda avatar 4.5.2011 01:02 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Jenom jeste je neco spatne na tomhle pravidle? Keymap uz mi funguje, to sem vyzkousel primym spustenim programu keymap. Nicmene pravidlo udevu se mi nespousti. Nevim proc, uz sem s tim laboroval pred ctvrt rokem, kdyz sem se snazil vytvorit symlink a vubec sem nebyl uspesny, proto se ptam, protoze vim ze pres vsechny tutorialy a navody sveta se mi to nepovede vyresit. (tohle nastaveni je taky z navodu a vlastne sem tam zmenil jenom, vendor a model id a umisteni keymapy)
SUBSYSTEMS=="pci",ACTION!="remove",KERNEL=="event*",ENV{ID_VENDOR_ID}=="107d", ENV{ID_MODEL_ID}=="6654", ENV{ID_USB_INTERFACE_NUM}=="01", RUN+="keymap $name /usr/local/lib/udev/ird-keys"
Google bomba: benzin blog
4.5.2011 01:06 Sten
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Místo SUBSYSTEMS tam má být SUBSYSTEM.
Lukáš Benda avatar 4.5.2011 07:05 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Tak tohle nepomohlo.

Btw. existuje nejaky tester, debugener, nebo aspon nejaky validator pro pravidla udev-u? Fakt nemam nejmensi tuseni, ktery z tech sedmi paramteru ma neco spatne.
Google bomba: benzin blog
Lukáš Benda avatar 4.5.2011 07:19 Lukáš Benda | skóre: 12 | blog: benBlog | Štítina
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Tak sem to rzochodil pres jmeno zarizeni, prec model a vendora se mi to nedarilo.
SUBSYSTEM=="input", ATTRS{name}=="cx88 IR (Leadtek WinFast DTV180", RUN+="keymap $name /usr/local/lib/udev/ird-keys"
Google bomba: benzin blog
4.5.2011 08:28 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Přemapování kláves s kódem vyšším než 255 pro použití v X11
Mohl bych tě poprosit o postnutí těch /usr/local/lib/udev/ird-keys ? Asi by se to řadě lidí hodilo. Díky.

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.