![Tastaturbelegung [Alt_L] + {ijkl} als Pfeiltaste {Hoch, Links, Runter, Rechts}](https://rvso.com/image/943141/Tastaturbelegung%20%5BAlt_L%5D%20%2B%20%7Bijkl%7D%20als%20Pfeiltaste%20%7BHoch%2C%20Links%2C%20Runter%2C%20Rechts%7D.png)
Ich möchte „ijkl“ zusammen mit Alt verwenden, damit es wie Pfeiltasten funktioniert, d. h. Alt+i = Nach oben, Alt+K = Nach unten usw.
Ich habe versuchtsimon_simonfolgendediese Antwort. Die Antwort besagt, dass die geänderte Alt-Taste die dritte Spalte in xmodmap ist. Sie
xmodmap -e "keycode 31 = i I Up"
wird jedoch nicht Alt+i zugewiesen.
Ich habe auch versuchtxbindkeysfolgendeeine andere Antwort. Aber das funktioniert nicht so gut.
"xvkbd -xsendevent -text '\[Left]'"
m:0x18 + c:44
alt + j
"xvkbd -xsendevent -text '\[Down]'"
m:0x18 + c:45
alt + k
"xvkbd -xsendevent -text '\[Right]'"
m:0x18 + c:46
alt + l
"xvkbd -xsendevent -text '\[Up]'"
m:0x18 + c:31
alt + i
Ich wäre für eine Lösung sehr dankbar, vorzugsweise eine, die andere Alt-Kombinationen, die ich habe, wie Strg+Alt+T zum Öffnen des Terminals usw., nicht unterbricht.
bearbeiten: (falls es für die Antwort hilft) nachdem ichsimon_simonNeuzuweisung: Wenn ich xev ausführe und Alt+i drücke, wird Folgendes zurückgegeben.
KeyPress event, serial 37, synthetic NO, window 0x2e00001,
root 0x66b, subw 0x0, time 35626163, (161,-15), root:(261,144),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 37, synthetic NO, window 0x2e00001,
mode NotifyGrab, detail NotifyAncestor
KeyPress event, serial 37, synthetic YES, window 0x2e00001,
root 0x66b, subw 0x0, time 0, (1,1), root:(1,1),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic YES, window 0x2e00001,
root 0x66b, subw 0x0, time 0, (1,1), root:(1,1),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic YES, window 0x2e00001,
root 0x66b, subw 0x0, time 0, (1,1), root:(1,1),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic YES, window 0x2e00001,
root 0x66b, subw 0x0, time 0, (1,1), root:(1,1),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
FocusIn event, serial 37, synthetic NO, window 0x2e00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 4294967216 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 37, synthetic NO, window 0x2e00001,
root 0x66b, subw 0x0, time 35628444, (161,-15), root:(261,144),
state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Erstens weiß ich nicht, warumUmschalt_Lzeigt. Zweitens zeigt es, dassHochAuch wenn ein Tastendruck irgendwie registriert wird, hat er dennoch keinerlei Auswirkung, er bewegt den Cursor beispielsweise nicht nach oben.
(Ich verwende Ubuntu 20.04)
Antwort1
Dies habe ich durch die Bearbeitung der entsprechenden Datei im/usr/share/X11/xkb/symbolsVerzeichnis. Da ich ein deutsches Tastaturlayout verwende, ist das bei mir./deDatei. Ich habe im allerersten Block die folgenden Zeilen hinzugefügt/geändert:
xkb_symbols "grundlegend" {
...
key <AD08> { [ i, I, Up, Up ] };
key <AC07> { [ j, J, Left, Left ] };
key <AC08> { [ k, K, Down, Down ] };
key <AC09> { [ l, L, Right, Right ] };
...
include "level3(alt_switch)"
};
Die ersten paar Zeilen sorgen dafür, dass ALTGR + I = Auf und so weiter ist, was für mich in Ordnung ist, da ich diese Kombinationen nie verwende. Dann sorgt die letzte Zeile dafür, dass ALT im Wesentlichen dasselbe tut wie ALTGR. Das funktioniert, ist aber irgendwie uncool, da es, wie Sie erwähnt haben, die anderen ALT-Kombinationen durcheinander bringt. Meine Lösung hierfür bestand einfach darin, dafür nicht ALT zu verwenden, sondern eine andere Taste, die an einer guten Position ist und die ich sowieso nie gebraucht habe: RWIN. Mit anderen Worten, ich habe die letzte Zeile ersetzt durch
include "level3(rwin_switch)"
Auf diese Weise kann ich jetzt bequem mit meinem kleinen Finger RWIN drücken, um mit ijkl als Pfeiltasten zu navigieren. Das Tolle ist, dass Sie im Gegensatz zu einigen anderen Lösungen immer noch beispielsweise SHIFT + RWIN + L drücken können, um Text auszuwählen.
Hoffe das hilft :)