K(r)ampf mit xmodmap
Hallo,
auf meinem Toshiba 3000-100 Notebook habe ich ein seltsames Problem
mit AltGr und den Zeichen < > | (less greater bar) unter X (Sarge, KDE
als WM).
Nach der Lektüre von "man xmodmap" und ein wenig schnüffeln in
xkeycaps hatte ich folgende Idee:
| marcus@harry:~$ xmodmap -v -e "keycode 94 = less greater bar"
| ! 0: keycode 94 = less greater bar
| keycode 0x5e = less greater bar
| !
| ! executing work queue
| !
| keycode 0x5e = less greater bar
So, das brachte mich der Sache näher: "<" und ">" funktionieren wie
erwartet. Leider erzeugt ein AltGr + Taste anstatt des "|" ein "<".
Also erstmal xev angeworfen:
Testen wir das "<":
| KeyPress event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17509844, (164,-12), root:(167,17),
| state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
| XLookupString gives 1 bytes: "<"
Klappt, jetzt das ">" (Shift+Taste):
| KeyRelease event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17509936, (164,-12), root:(167,17),
| state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
| XLookupString gives 1 bytes: "<"
|
| KeyPress event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17511181, (164,-12), root:(167,17),
| state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
| XLookupString gives 0 bytes: ""
|
| KeyPress event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17511371, (164,-12), root:(167,17),
| state 0x1, keycode 94 (keysym 0x3e, greater), same_screen YES,
| XLookupString gives 1 bytes: ">"
|
| KeyRelease event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17511523, (164,-12), root:(167,17),
| state 0x1, keycode 94 (keysym 0x3e, greater), same_screen YES,
| XLookupString gives 1 bytes: ">"
|
| KeyRelease event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17511661, (164,-12), root:(167,17),
| state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
| XLookupString gives 0 bytes: ""
Klappt auch. Nun "|" (AltGr+Taste):
| KeyPress event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17512462, (164,-12), root:(167,17),
| state 0x0, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
| XLookupString gives 0 bytes: ""
|
| KeyPress event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17512669, (164,-12), root:(167,17),
| state 0x80, keycode 94 (keysym 0x3c, less), same_screen YES,
| XLookupString gives 1 bytes: "<"
Nanu??
| KeyRelease event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17512773, (164,-12), root:(167,17),
| state 0x80, keycode 94 (keysym 0x3c, less), same_screen YES,
| XLookupString gives 1 bytes: "<"
|
| KeyRelease event, serial 28, synthetic NO, window 0x2000001,
| root 0x40, subw 0x0, time 17512929, (164,-12), root:(167,17),
| state 0x80, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
| XLookupString gives 0 bytes: ""
Mein Latein ist hiermit am Ende. Hat jemand eine Idee?
"xmodmap -pk":
| There are 4 KeySyms per KeyCode; KeyCodes range from 8 to 255.
|
| KeyCode Keysym (Keysym) ...
| Value Value (Name) ...
|
[...]
| 94 0x003c (less) 0x003e (greater) 0x007c (bar)
[...]
"xmodmap -pm":
| xmodmap: up to 2 keys per modifier, (keycodes in parentheses):
|
| shift Shift_L (0x32), Shift_R (0x3e)
| lock Caps_Lock (0x42)
| control Control_L (0x25), Control_R (0x6d)
| mod1 Alt_L (0x40)
| mod2 Num_Lock (0x4d)
| mod3
| mod4 Super_L (0x73), Super_R (0x74)
| mod5 ISO_Level3_Shift (0x71)
Grüße, Marcus
PS: Setze ich "bar greater less", klappt das auch mit dem "less"
nicht. Irgendwie muss also die Zuordnung mit AltGr nicht
funktionieren.
PSS: @²³€ funktionieren.
Reply to: