Wie kann ich dafür sorgen, dass Strg für Kombinationen mit mehreren Modifikatoren richtig funktioniert, nachdem ich in xmodmap Strg und Feststelltaste vertauscht habe?

Wie kann ich dafür sorgen, dass Strg für Kombinationen mit mehreren Modifikatoren richtig funktioniert, nachdem ich in xmodmap Strg und Feststelltaste vertauscht habe?

Ich habe getauscht Left Ctrlund Caps Lockdurch die Erstellung von ~/.Xmodmap

keycode 66 = Control_L
keycode 37 = Caps_Lock
clear Lock
clear Control
add Lock    = Caps_Lock
add Control = Control_L Control_R

dann ausführen $ xmodmap ~/.Xmodmap. Das Drücken der Left CtrlTaste funktioniert wie erwartet und schaltet um Caps Lock. Das Drücken der Caps LockTaste funktioniert im Allgemeinen für einfache Tastenkombinationen, wie z. B. Ctrl+N.

Wenn jedoch mehrere Sondertasten erforderlich sind (z. B. Alt+ Ctrl+ I), funktioniert dies nur, wenn ich Altzuerst die Taste drücke. Wenn ich Caps Lockzuerst die Taste drücke, hat dies keinen Effekt.

Ich kann das Tastaturlayout mit zurücksetzen $ setxkbmap -layout usund die obige Tastenkombination funktioniert einwandfrei. Wenn ich es $ xmodmap ~/.Xmodmaperneut ausführe, habe ich das gleiche Problem.

Caps LockIch stelle auch fest, dass ich selbst bei Kombinationen mit einem einzigen Modifikator die Taste einen Sekundenbruchteil länger gedrückt halten muss als bei der CtrlStandardtaste, damit sie registriert wird. Es liegt wahrscheinlich in der Größenordnung von 0,01 Sekunden, aber es ist auffällig genug, dass in einem von zehn Fällen falsche Signale gesendet werden.

Wenn ich austausche Ctrlund Caps Lockverwende $ setxkbmap -layout us -option 'ctrl:swapcaps', fällt mir das Problem mit den mehreren Modifikatoren nicht mehr auf. Ich möchte das Problem jedoch immer noch mit der xmodmap-Lösung lösen, da ich bald eine neue Tastatur bekomme und Ctrlmit einer anderen Taste tauschen muss.

Caps Lock=EDIT= Ich habe eine andere Tastatur ausprobiert (Das Keyboard) und es scheint, dass das zweite Problem, dass ich die Taste einen Sekundenbruchteil länger gedrückt halten muss als Ctrlbei der Originaltastatur (einer kabelgebundenen Aluminiumtastatur von Apple) wahrscheinlich ein Hardwareproblem ist. Das erste Problem mit mehreren Modifikatoren ist jedoch immer noch vorhanden.

=EDIT= Ich habe verschiedene Tastenanschläge in xev getestet. Wenn Sie Altdie Caps LockTaste gedrückt halten und dann drücken, wird angezeigt keycode 66 (keysym 0x0, NoSymbol), im Gegensatz zu keycode 66 (keysym 0xffe3, Control_L)wenn AltSie die Taste nicht gedrückt halten.

Antwort1

Offensichtlich ist der obige xmodmap-CodenichtCtrlEs genügt, die Tasten + Lund zu vertauschen Caps Lock.

keycode 66 = Control_L

sollte sein

keycode 66 = Control_L Control_L

um eine korrekte Funktionalität zu ermöglichen, wenn Ctrlnach einem anderen Modifikator gedrückt wird. Ich kann keine guten Referenzen zu dieser Lösung finden, aberscheinbarder zweite Eintrag bezieht sich auf Shift+ . Ich bin nicht sicher, warum er hier auch auf + Keyzuzutreffen scheint .AltKey

(Andere Quellen geben außerdem an, dass bis zu acht Spalten vorhanden sind und nicht die sechs, auf die im Link verwiesen wird.)

verwandte Informationen