Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Keycode xmodmap und xkb
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Thu Nov 18, 2010 10:56 am    Post subject: [solved] Keycode xmodmap und xkb Reply with quote

Hallo,

ich hab gestern das Hibernate zum Laufen gebracht. Funktioniert scheinbar auch ganz toll. Jetzt würde ich das gern auf eine Taste legen. Auf meinem Lenovo gibt's dafür ein Ding oben rechts, da steht ein QS drauf.

1. Versuch: xev
-> erkennt nichts

2. Versuch: /var/log/messages
/var/log/messages:
Nov 17 23:10:19 localhost kernel: atkbd serio0: Use 'setkeycodes e007 <keycode>' to make it known.
Nov 17 23:10:19 localhost kernel: atkbd serio0: Unknown key released (translated set 2, code 0x87 on isa0060/serio0).


also hab ich diese Taste in /etc/conf.d/local.start reingepackt:
/etc/conf.d/local.start:
setkeycodes e007 135 #Sleep-Key (QS), Hibernate


und in /etc/X11/xinit/Xmodmap:
/etc/X11/xinit/Xmodmap:
keycode 135 = XF86Sleep


3. Versuch: xev
Code:
KeyPress event, serial 32, synthetic NO, window 0xa00001,
    root 0x15d, subw 0x0, time 400620, (169,3), root:(600,567),
    state 0x0, keycode 143 (keysym 0x1008ff6d, XF86Paste), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


Tja, und jetzt steh ich vor dem Rätsel, warum meine QS-Taste, die ich per setkeycodes auf 135 gelegt hab, in xev auf einmal als keycode143 erkannt wird? In e16keyedit (Hotkey-Definition in Enlightenment) wird mir das Ding auch als XF86Paste anstatt als XF86Sleep angezeigt.

Gibt's da irgendwelche Probleme mit Xmodmap <-> kkb? Oder ist /etc/X11/xinit/Xmodmap der falsche Ort dafür?


Last edited by musv on Thu Nov 18, 2010 7:35 pm; edited 1 time in total
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Thu Nov 18, 2010 7:35 pm    Post subject: Reply with quote

Ja, also die Lösung ist relativ simpel, auch wenn ich noch nicht richtig durchblick.

1. Diverse Multimedia-Keycodes sind schon vorbelegt und ließen sich früher in der /usr/share/X11/XKeysymDB nachlesen. Die Datei gibt's heut nicht mehr. Die Belegungen sind irgendwo anders versteckt.

2. Wie oben schon erwähnt, müssen die Tasten erstmal per setkeycodes zugeordnet werden. Dabei enstpricht allerdings die Nummer in der Konsole nicht der Nummer im X. Der nette Mensch hatte eine Differenz von 7, ich hatte eine von 8.

Mit anderen Worten, erkannt wird die Taste im log als e007, die mappen wir auf 142, da 150 XF86Sleep ist:
/etc/conf.d/local.start:

setkeycodes e007 142 #Sleep-Key (QS), Hibernate


Erkannt wird dann per xev:
Code:

KeyRelease event, serial 33, synthetic NO, window 0xe00001,
    root 0x15d, subw 0x0, time 538602, (80,95), root:(677,191),
    state 0x0, keycode 150 (keysym 0x1008ff2f, XF86Sleep), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Xmodmap ist nicht erforderlich. XF86Sleep kann im e16keyeditor und vermutlich in jedem anderen Hotkey-Manager verwendet werden.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum