ordne rechts alt neu zu, um dich als rechte Strg zu verhalten


8

Ich versuche, meine neu zuzuordnen, um mich right altwie meine zu verhalten, right ctrldamit ich mit dem rechten Daumen den ctrlKnopf drücken kann. Dies ist Ubuntu 12.04.

Ich habe die Datei .Xmodmap in meinem Home-Ordner mit folgendem Inhalt erstellt:

clear control
clear mod1
!keycode 64 = Alt_L Meta_L
keycode 108 = Alt_R Meta_R
add control = Control_L Control_R Alt_R
add mod1 = Alt_L Meta_L

Wie Sie vielleicht erraten haben, hat meine linke Alt-Taste den Schlüsselcode 64 und mein left altSchlüssel den Schlüsselcode 108.

Dies funktioniert tatsächlich in dem Sinne, dass sich meine rechte Alt-Taste so verhält, als würde ich die ctrlTaste drücken.

Meine linke altTaste macht jetzt jedoch nichts mehr, was bedeutet, dass ich keine altTaste mehr habe. Dies ist seltsam, da xmodmapes die folgende Ausgabe gibt:

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69),  Alt_R (0x6c)
mod1        Alt_L (0x40),  Alt_L (0xcc),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Das Seltsame ist, dass beim Entfernen der Alt_R-Zuordnung controldie altTasten funktionieren.

(dh ändern Sie die vorletzte Zeile in :)

add control = Control_L Control_R

Jetzt verhält sich sogar mein rechter Alt wie ein altSchlüssel, der mich verwirrt. Nach dem Entfernen der Alt_R-Zuordnung von der Steuerzeile xmodmapergibt die Ausgabe von :

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_L (0xcc),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Hoffe ihr könnt helfen.

ps. Ich habe diese Website als Quelle verwendet.

Antworten:


6

Sie sollten in der Lage sein, einfach Tastaturlayout >> Optionen >> Strg-Tastenposition >> Rechts Alt als Rechts Strg zu verwenden , aber dies funktioniert nicht. Dies wurde bereits gegen Debian als Bug # 663218 eingereicht

1) Starten Sie neu, indem Sie ~ / .Xmodmap löschen.

2) Beachten Sie, dass Sie Control und Mod1 nicht löschen müssen. Dies macht es einfacher, nur das zu ändern, was Sie wollen. Ihre ~ / .Xmodmap sollte sein:

!Swap right control and right alt
remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

2

Wenn Sie einer der unglücklichen Menschen wie ich sind, die xmodmap nicht dazu bringen konnten, mit der rechten Strg-Taste nach rechts zu wechseln, hilft dies möglicherweise.

Wenn Sie rechts Alt und e drücken und é erhalten, ist diese Lösung für Sie (muss verbessert werden).

Führen Sie dies im Terminal aus (überprüfen Sie Ihre Schlüsselcodes mit xev):

xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"

Fügen Sie dann diesen Code in Ihre .Xmodmap ein:

remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

Dieser Code setzt Ihren Alt_Gr-Schlüssel auf Alt_R und tauscht dann Alt_r gegen Strg_R aus.

Wenn dies nach dem Abmelden erhalten bleiben soll, fügen Sie die folgenden Befehle in eine Ihrer Start-Shell-Dateien ein, z. B. ~ / .profile:

if [ -f $HOME/.Xmodmap ]; then
  xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
  /usr/bin/xmodmap $HOME/.Xmodmap
fi

Quellen: Frage1 Frage2


1

Unter Ubuntu 19.04 sollten Sie zwei Dateien ändern, um das Mapping systemweit zu gestalten:

  • / usr / share / X11 / xkb / symbole / altwin
  • / usr / share / X11 / xkb / symbole / pc

Fügen Sie dem vorherigen den folgenden Abschnitt hinzu:

// Ctrl is mapped to the Alt.
partial modifier_keys
xkb_symbols "right_alt" {
    key <LALT> { [ Alt_L, Meta_L ] };
    key <RALT> { type[Group1] = "TWO_LEVEL",
                 symbols[Group1] = [ Control_R, Control_R ] };
    modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Control { <LCTL>, <RALT> };
};

Und ersetzen Sie include "altwin(meta_alt)"die include "altwin(right_alt)"in letzteren.


Dies beantwortet die Frage und funktioniert. Aber die akzeptierte Antwort tauscht die richtige Alt- und die rechte Strg-Taste aus. Dies wurde ursprünglich nicht gefragt, aber ich denke, es ist eine Lösung, nach der viele suchen (zwei Steuerelemente auf der rechten Seite sind nicht so praktisch). Würde es Ihnen etwas ausmachen, hinzuzufügen, wie die richtige Steuerung der richtigen Alt zugeordnet wird?
Tedward
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.