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

Re: Caps-Lock / NumLock-Problem



Hallo Helmut, danke erstmals für deine Antwort.

On Sat, 2008-02-16 at 00:20 +0100, Helmut Waitzmann wrote: 
> >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?

Zum Zeitpunkt des *loslassens*: Ja. Sobald ich CapsLock drücke, wird
auch NumLock aktiviert. Vor dem Drücken der Taste war allerdings weder
num Lock noch Caps Lock aktiviert. Da aber NumLock aktiviert wird,
sobald ich CapsLock drücke, war beim *loslassen* der Taste NumLock
aktiv.

> Was sagt denn das Kommando
> 
> $ xmodmap -pm

elirips@XERXES:~$ xmodmap -pm
xmodmap:  up to 3 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),  Alt_L (0x7d),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x71),
ISO_Level3_Shift (0x7c)

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

Ich glaube nicht (?)

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

elirips@XERXES:~$ more .Xmodmap
keycode 233 = Super_L

(brauchte ich mal für 3ddesktop da mein Laptop keine Windows-Taste hat,
hatte ich eine nicht benutzte "Seite wechseln" Taste darauf gelegt)
.Xkbmap gibt es nicht. Ich hab probehalber mal .Xmodmap gelöscht und X
neu gestartet. Ändert nichts.

> >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.

Unter Win funktioniert es. :(
Soweit ich sehe scheint NumLock hier auch 77 zu sein. Drücke ich ScrlLk
alleine gibt es den Code 78, drücke ich shift+ScrlLk erhalte ich 77. =>
Jetzt ist NumLock aktiviert, so wie es sein sollte. Drücke ich erneute
shift+ScrlLk gibt es wie gewünscht wieder keycode 77, nur wird NumLock
nicht wieder abgestellt. CapsLock gibt keycode 66, also versteh ich
nicht ganz weshalb dort auch Num Lock aktiviert wird.

> >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'

elirips@XERXES:~$ xmodmap -pke | grep -E -e '_Lock|[[:blank:]]Shift|
Pointer'
keycode  50 = Shift_L
keycode  62 = Shift_R
keycode  66 = Caps_Lock
keycode  77 = Num_Lock Pointer_EnableKeys
keycode  78 = Scroll_Lock

JA :) Das ist Es. ^^^ verdächtig. Ich habe probehalber mal einen neuen
User angelegt => Problem tritt *nicht* auf. Dort ist es wie es sein
sollte:

keycode  50 = Shift_L
keycode  62 = Shift_R
keycode  66 = Caps_Lock
keycode  77 = Num_Lock
keycode  78 = Scroll_Lock

Also scheint es als ob bei mir irgendwo Müll rumliegt der X/Gnome
verwirrt. Dann beginn ich mal zu suchen an was das liegen könnte. Ist
eine relativ alte Installation, zuerst Sarge, dann Etch als Etch testing
war, und jetzt Etch stable.

> Ich weiß, eine Hilfe ist das noch nicht, hilft vielleicht aber, hinter
> das Problem zu kommen.

Definitiv :)
Danke!

Gruss Elias

-- 
Live within your income, even if you have to borrow to do so. -- Josh
Billings


Reply to: