[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Caps-Lock / NumLock-Problem



Elias Gerber <egerber@gmx.net> writes:

>On Sat, 2008-01-19 at 19:39 +0100, Thorsten Haude wrote:
>> Moin,
>> 
>> * Elias Gerber wrote (2008-01-19 18:23):
>> >Drücke ich Caps-Lock so aktiviert das gleichzeitig auch NumLock.
>> 
>> Was sagt denn xev zu der Taste?
>
>Zu Caps-Lock:
>
>PropertyNotify event, serial 29, synthetic NO, window 0x3800001,
>    atom 0x143 (XKLAVIER_STATE), time 2476218655, state PropertyNewValue
>
>KeyRelease event, serial 29, synthetic NO, window 0x3800001,
>    root 0x4d, subw 0x0, time 2476218769, (169,-10), root:(181,131),
>    state 0x12, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
             ^
Die Ziffer 1 sieht mir danach aus, als ob beim Loslassen der
»Caps_Lock«-Taste nicht nur »lock«, sondern auch noch »mod2« aktiv war.
War zu dem Zeitpunkt »Num_Lock« eingeschaltet?

Was sagt denn das Kommando

$ xmodmap -pm

?  Sind da vielleicht mehrere Tasten, die eigentlich Unterschiedliches
bewirken sollen, dem selben modifier (erste Spalte der Ausgabe des
Kommandos) zugeordnet?

Hast Du vielleicht eine der Dateien "$HOME/.Xmodmap" und "$HOME/.Xkbmap" im
HOME-Verzeichnis stehen?  Wenn ja, was steht drin?

>Zu Shift+ScrLk (sollte NumLk aktivieren/deaktivieren):

Meines Wissens kann das nicht funktionieren.  Man kann nicht zwei
Modifier-Funktionen (hier: »Scroll_Lock« und »Num_Lock«) auf der selben
Taste haben, auch nicht, wenn eine von beiden mit und die andere ohne
»Shift« betätigt werden soll.  Der Grund dafür ist, dass dafür eine
Zuordnung zu einem der Modifiers (siehe die erste Spalte der Ausgabe von
»xmodmap -pm«) bestehen muss.  Die Zuordnung hängt aber nicht am
Keysymbol »Scroll_Lock« bzw. »Num_Lock«, sondern am Keycode (hier: 77,
siehe die Ausgabe von »xev«).  Und das gibt es pro Taste immer nur
einmal.  Ob dazu »Shift« gedrückt wird oder nicht, ändert am keycode
nichts.  In der Ausgabe von »xmodmap -pm« findet sich das Keycode
jeweils in Klammern als Sedezimalzahl, hier also 77 = 0x4d.

>KeyPress event, serial 29, synthetic NO, window 0x3800001,
>    root 0x4d, subw 0x0, time 2476371358, (914,10), root:(921,83),
>    state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
>    XLookupString gives 0 bytes:
>    XmbLookupString gives 0 bytes:
>    XFilterEvent returns: False
>
>KeyPress event, serial 29, synthetic NO, window 0x3800001,
>    root 0x4d, subw 0x0, time 2476372021, (914,10), root:(921,83),
>    state 0x11, keycode 77 (keysym 0xfef9, Pointer_EnableKeys),
                                            ^
So, wie es da aussieht, ergibt sich aus »Shift_L« mit »Scroll_Lock« aber
nicht »Num_Lock«, sondern »Pointer_EnableKeys«.  (»Pointer_EnableKeys«
schaltet die »Tastaturmaus« ein oder aus.  »Tastaturmaus« bedeutet,
mittels der Ziffern-Tasten »1«, »2«, »3«, »4«, »6«, »7«, »8« und »9« auf
dem Zehnerblock den Zeiger bewegen und mittels der Tasten »0«, ».«, »5«
und »+« eine Maustaste drücken, loszulassen, einfach- bzw. doppelklicken
zu können.  Welche Maustaste verwendet wird, wird mit den
Zehnerblock-Tasten »÷«, »×«, »-« ausgewählt.)

Was zeigt das Kommando

$ xmodmap -pke | grep -E -e '_Lock|[[:blank:]]Shift|Pointer'

?

Ich weiß, eine Hilfe ist das noch nicht, hilft vielleicht aber, hinter
das Problem zu kommen.
-- 
Wer mir E-Mail schreiben will, stelle   |   When writing me e-mail, please
bitte vor meine E-Mail-Adresse meinen   |   precede my e-mail address with
Vor- und Nachnamen, etwa so:            |   my full name, like
Helmut Waitzmann <xxx@example.net>, (Helmut Waitzmann) xxx@example.net


Reply to: