#221 closed Verbesserung (wontfix)
emacs meldet "<key-17> is undefined" wenn ich AltGr oder CapsLock drücke.
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | Neo Version 2.0 |
Component: | Treiber: Linux – Xkbmap | Version: | 2.0 Final |
Keywords: | Cc: |
Description
Wie im Summary beschrieben.
Wenn ich mit Xev versuche Tastendrücke nachzuvollziehen, dann steht da immer KeyPress event, serial 31, synthetic NO, window 0x1000001,
root 0xb6, subw 0x0, time 1415253, (255,-215), root:(1216,326), state 0x0, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES, XKeysymToKeycode returns keycode: 51 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False
Warum passt der Keycode nicht zu XKeysymToKeycode?
Der Keycode der Taste selbst taucht in der Ausgabe von xmodmap auf, aber der Keycode 51. Könnte das Emacs verwirren?
Change History (5)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Das Problem habe ich mit meinem Emacs auch, außer dieser Warn-Meldung passiert aber nichts weiter. Wenn sie Dich zu stark nervt, einfach:
(define-key special-event-map (kbd "<key-17>") 'ignore)
(define-key special-event-map (kbd "<M-key-17>") 'ignore)
in die .emacs eintragen, und es wird nichts mehr gesagt.
comment:3 by , 13 years ago
Ich habe mir 0xfe14
(entspricht keiner definierten keysym) auf eine Taste gelegt, und prompt beschwert sich emacs bei drücken derselben über <key-20>
. Nun ist 20 = 0x14, die keysym ISO_Level5_Shift
hat den numerischen Wert 0xfe11
und 17 = 0x11. Ich glaube daher, das Problem ist ein alter Bekannter, http://bugs.freedesktop.org/show_bug.cgi?id=21910
Zur Probe möge einer der Betroffenen bitte auf seiner Maschine die im Ticket beschriebene Korrektur in Xutil.h
vornehmen und dann emacs auf dieser Maschine neu kompilieren. Das Problem sollte dann mit diesem emacs-binary behoben sein.
Weil
ISO_Level3_Shift
auf zwei verschiedenen Tasten vorkommt,XKeysymToKeycode
aber nur den keycode von einer zurückgeben kann, in diesem Fall 51, den Code für die rechte Mod3-Taste. Keycode 66 ist der für die Taste die du drückst, also die linke Mod3-Taste.Manche Programme haben Probleme mit keysyms, die auf mehrerer Tasten liegen, aber bei emacs habe ich dafür noch keine Hinweise bemerkt.