Nach dem Einlesen und Informationen. Es scheint, dass das Problem darin besteht, dass Sie die Modifikatoren löschen müssen, bevor Sie das Remapping durchführen.
Zur antwort:
Nach dem Ändern der Einstellungen xmodmap
sieht mein aus:
xmodmap: bis zu 4 Schlüssel pro Modifikator (Schlüsselcodes in Klammern):
shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Alt_L (0xcc), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 Mode_switch (0x42), Mode_switch (0xcb) mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce) mod5
Die Untersuchung von Mode_switch
bringt uns zu der Schlussfolgerung, Caps_Lock
die erfolgreich kartiert wurde:
[smalltalk@localhost ~]$ xmodmap -pke | egrep -e '(Mode_switch)' keycode 66 = Mode_switch NoSymbol Mode_switch keycode 203 = Mode_switch NoSymbol Mode_switch
Nun xmodmap der Auszug aus den Manpages:
keycode NUMBER = KEYSYMNAME ... The list of keysyms is assigned to the indicated keycode (which may be specified in decimal, hex or octal and can be determined by running the xev program). Up to eight keysyms may be attached to a key, however the last four are not used in any major X server implementation. The first keysym is used when no modifier key is pressed in conjunction with this key, the second with Shift, the third when the Mode_switch key is used with this key and the fourth when both the Mode_switch and Shift keys are used.
Die folgende Konfiguration funktioniert, aber Sie müssen Caps_Lock gedrückt halten, während Sie i, j, k, l verwenden (genau wie in den Manpages beschrieben):
Bearbeiten vim ~/.Xmodmap
:
! make Capslock the "Mode_switch" key clear Lock ! All Mod must be cleared clear Mod1 clear Mod2 clear Mod3 clear Mod4 clear Mod5 ! clearning current Caps_Lock assigment and assigning it new one keycode 66 = keycode 66 = Mode_switch ! setting all the modification keys add Mod1 = Alt_L Alt_R Meta_L add Mod2 = Num_Lock add Mod3 = Mode_switch add Mod4 = Super_L Super_R Hyper_R ! Clear must be done before configuring it keycode 31 = keycode 44 = keycode 45 = keycode 46 = ! Configuration (first column normal type, second with shift and second with Mod_switch) keycode 31 = i I Up keycode 44 = j J Left keycode 45 = k K Down keycode 46 = l L Right ! Clearing the arrow keys and some functional keys like home keycode 111 = keycode 113 = keycode 114 = keycode 116 = keycode 112 = keycode 117 =
Nun zur großen Frage:
Wie lassen sich die Tasten i, j, k, l aktivieren, während Caps_Lock eingeschaltet ist? Sie werden wahrscheinlich Änderungen vornehmen xkb
müssen, über die ich nachdenken muss.
Bearbeiten
Ja, du kannst. Ich habe es herausgefunden.
Hinweis: Dies gilt für alle Tastaturen, alle Layouts, und eignet sich daher zum Testen. Wenn Sie es xkb
richtig machen möchten, müssen Sie ein eigenes Layout erstellen und eine Zuordnung von Gruppe1 und Gruppe2 + vornehmen.
Das unten genannte ist ein Hack ideal zum Testen Ihrer Tastatur (s) (vergessen Sie nicht, Ihre ../basic
Datei zu sichern !):
Warnung dies gilt für alle Tastaturen, alle Varianten.
Bearbeiten Sie die Datei: sudo vim / usr / share / X11 / xkb / compat / basic
# Add Caps_Lock to virtual modifiers virtual_modifiers NumLock,AltGr,Caps_Lock; # change FROM: interpret Mode_switch { useModMapMods= level1; virtualModifier= AltGr; action= SetGroup(group=+1); }; # TO: interpret Mode_switch { useModMapMods= level1; virtualModifier= Caps_Lock; action= LockGroup(group=+1); }; # change from group 2 = AltGr; TO: group 2 = Caps_Lock;
Hinweis: Wenn Sie über mehrere Layouts verfügen, kann dies zu Störungen führen.