Konfiguracja klawiszy pilota przy pomocy xmodmap
: 25 wrz 2012, 10:24
Mój komp wykrywa automatycznie niektóre przyciski pilota automatycznie, ale połowy nie widzi. Udało mi się ustalić, że konfiguracja przycisków siedzi w X11/XF86keysym.h Udało mi się tez ustalić że własne kody przycisków można ustawić przy pomocy aplikacji xmodmap. Mimo, że siedziałem wczoraj do 2-giej w nocy to dalej nie umiem sobie poradzić z konfiguracją tych klawiszy. Trafiłem na http://dev-loki.blogspot.com/2006/04/ma ... odmap.html: i tam doczytałem coś takiego:
i jakaż moja radość bo się okazało, że program reaguje na KAŻDY przycisk pilota i w ten sposób ustaliłem kody każdego klawisza. W cytowanym wyrywku powyżej jest tez mowa o "showkey -s ale z tym mam większy problem bo to polecenie co prawda reaguje na przyciski pilota, ale niestety tylko na jakąś połowę z nich:
Z tego jak rozumiem to wszystko to zrobiłem plik na szybko tylko z jednym klawiszem pilota "chanel up i chanel down" żeby sprawdzić czy to działa. showkey -k pokazał mi kody tych klawiszy jako 402 i 403. Stworzyłem więc plik konfiguracyjny dla nich w
/home/darek/.kde/Autostart/ o nazwie xmodmap o zawartości:
Niestety coś jest nie tak bo po restarcie środowiska polecenie xev które powinno wykrywać wszystkie klawisze nie reaguje w żaden sposób na te 2 przyciski pilota. Co robię źle? Mam wrażenie że już jestem blisko, ale mam gdzieś jakiś głupi błąd. Może coś ze składnią pliki xmodmap w autostarcie? Bo jak sprawdzam uruchomione aplikacje to jej nie widzę a po zalogowaniu mam zawieszona aplikację kwrite, która u mnie domyślnie otwiera pliki tekstowe. Może coś tam trzeba jeszcze w tym pliku dopisać, albo zmienić nazwę na xmodmap.sh albo coś takiego?
Wklepałem więc w konsolę:I used command "showkey -s" to get the kernel scancodes, "showkey -k" to get the kernel keycodes and /usr/include/linux/input.h to lookup the intended kernel keycodes. To list all scan- and keycodes I used command "getkeycodes" to check for conflicts.
Next I assigned X Window keysyms to the X Window keycodes by adding xmodmap commands in ~/.kde/Autostart/xmodmap (executed after X Window)
~/.kde/Autostart/xmodmap
#!/bin/bash
#for Ortek MCK-91
xmodmap -e 'keycode 234 = XF86Back'
xmodmap -e 'keycode 233 = XF86Forward'
xmodmap -e 'keycode 178 = XF86WWW'
xmodmap -e 'keycode 236 = XF86Mail'
xmodmap -e 'keycode 160 = XF86AudioMute'
xmodmap -e 'keycode 174 = XF86AudioLowerVolume'
xmodmap -e 'keycode 176 = XF86AudioRaiseVolume'
xmodmap -e 'keycode 144 = XF86AudioPrev'
xmodmap -e 'keycode 232 = XF86AudioStop'
xmodmap -e 'keycode 168 = XF86AudioPlay'
xmodmap -e 'keycode 153 = XF86AudioNext'
#for Keyspan 17B
xmodmap -e 'keycode 110 = XF86AudioPause'
xmodmap -e 'keycode 152 = XF86Back'
xmodmap -e 'keycode 158 = XF86MenuKB' # for the KMenu
I used command "xev" to get the X Window keycodes and /usr/share/X11/XKeysymDB to lookup the X Window keysyms. A more appropriate home for the xmodmap commands might be
$KDEDIR/share/config/kdm/Xsession.
Kod: Zaznacz cały
root@darek-PC:/home/darek# showkey -k
tryb kb był RAW
[ jeśli to jest wykonywane pod X, może nie działać
ponieważ X serwer także czyta /dev/console ]
proszę nacisnąć dowolny klawisz (program zakończy się 10s po ostatnim)...
kod klawisza 28 puszczenie
kod klawisza 356 naciśnięcie
kod klawisza 356 puszczenie
kod klawisza 377 naciśnięcie
kod klawisza 377 puszczenie
kod klawisza 412 naciśnięcie
kod klawisza 412 puszczenie
kod klawisza 164 naciśnięcie
kod klawisza 164 puszczenie
kod klawisza 407 naciśnięcie
kod klawisza 407 puszczenie
kod klawisza 359 naciśnięcie
kod klawisza 359 puszczenie
kod klawisza 168 naciśnięcie
kod klawisza 168 puszczenie
kod klawisza 128 naciśnięcie
kod klawisza 128 puszczenie
kod klawisza 208 naciśnięcie
kod klawisza 208 puszczenie
kod klawisza 167 naciśnięcie
kod klawisza 167 puszczenie
1kod klawisza 2 naciśnięcie
kod klawisza 2 puszczenie
2kod klawisza 3 naciśnięcie
Kod: Zaznacz cały
root@darek-PC:/home/darek# showkey -s
tryb kb był RAW
[ jeśli to jest wykonywane pod X, może nie działać
ponieważ X serwer także czyta /dev/console ]
proszę nacisnąć dowolny klawisz (program zakończy się 10s po ostatnim)...
0x9c
0xe0 0x31
0xe0 0xb1
10x02
0x82
0xe0 0x18
0xe0 0x98
0xe0 0x68
0xe0 0xe8
0xe0 0x34
0xe0 0xb4
0xe0 0x31
0xe0 0xb1
.0xb4
00x0b
0x8b
/home/darek/.kde/Autostart/ o nazwie xmodmap o zawartości:
Kod: Zaznacz cały
keycode 402 = 0xff52
keycode 403 = 0xff53