Super_L
ist ein X-Keysym. Tmux läuft in einem terminal. Es liegt an Ihrem Terminal-Emulator, ein Schlüsselwort in eine Zeichenfolge umzuwandeln. Sie müssten also sowohl Ihren Terminalemulator als auch tmux konfigurieren.
In der tmux-Dokumentation kann das Präfix nur ein bekannter Schlüsselname mit einem optionalen Modifikator sein. Sie können also das tmux-Präfix auf eine Tastenkombination setzen, die Sie beispielsweise nicht verwenden M-F12
, und Ihr Terminal veranlassen, die Zeichenfolge zu senden, M-F12
wenn Sie drücken Super_L
. Mit etwas mehr Arbeit könnten Sie eine Taste verwenden, die Ihre Tastatur wahrscheinlich nicht hat (tmux akzeptiert F13
through F20
als Tastennamen , sie müssen jedoch in terminfo deklariert werden).
Auf der Seite des Terminal-Emulators müssten Sie veranlassen Super_L
, dass die Tastenfolge \e\e[24~
(für M-F12
) oder \e[34~
(für F20
) generiert wird (wo \e
ist das Escape-Zeichen). Wie das geht, hängt vom Terminal-Emulator ab (und einige sind dafür nicht konfigurierbar). Bei xterm erfolgt dies über X-Ressourcen:
! Make Super_L act as Meta+F12
XTerm.VT100.translations: #override \
<Key>Super_L: string("\033\033[24~")
Sie können einen Haken treffen, der Super_L
normalerweise ein Modifikator ist, und die Modifikatortasten funktionieren nicht immer, wenn ein Nicht-Modifikator erforderlich ist. Wenn Sie kein Super_L
Modifikator sein möchten , können Sie den Modifikator entfernen oder (weniger verwirrend) einen anderen Schlüssel für den physischen Schlüssel verwenden. Dies kann über xmodmap (altmodisch und einfach zu verstehen), über xkb (die moderne, schlecht dokumentierte, leistungsstarke und komplexe Methode) oder möglicherweise über das GUI-Konfigurationstool Ihrer Desktop-Umgebung erfolgen.
Gilles 'SO - hör auf böse zu sein'
quelle
Super_L
ist ein X-Keysym, also haben Sie vermutlich irgendwo einen X-Server (wenn Sie sich unter Windows angemeldet haben, würden Sie den Schlüssel vermutlich den linken Windows-Schlüssel nennen). Tmux läuft in einem Terminal und liest seine Eingabe als Byte, wobei Funktionstasten in Escape-Sequenzen übersetzt werden. Ein Remote-Login ist transparent. Ssh überträgt nur die Bytes, aus denen die Escape-Sequenz besteht.Das kannst du nicht. Eine Schlüssel Bindung wird die Anruf -
cmd_bind_key_parse
Funktion aus ,cmd-bind-key.c
die wiederum (schließlich) Anrufkey_string_get_modifiers
vonkey-string.c
:Die
tmux.c
enthält die Modifizierertastendeklarationen#define
und aus dieser Datei haben wir:An der Oberfläche sieht es jedoch nicht allzu schwierig aus, Änderungen vorzunehmen. vielleicht ein wochenendprojekt (berühmte letzte worte;))?
quelle
Ich war nicht in der Lage, einem benutzerdefinierten Modifikatorschlüssel ein Präfix zuzuweisen, aber es gelang mir, unter Gnome in Kombination mit Metacity tmux-Bindungen in Kombination mit einem benutzerdefinierten Modifikatorschlüssel zu definieren. Um beispielsweise
Mod4
+ kundMod4
+ zuzuordnen und jzum aktuellen Bereich nach oben bzw. unten zu wechseln, gehen Sie wie folgt vor:Dies ermöglicht tmux-Bindungen in Kombination mit beispielsweise der Windows-Taste. Etwas in diese Richtung funktioniert für jeden Fenstermanager, der die Definition globaler Tastaturkürzel (Compiz, KWin usw.) ermöglicht.
quelle
Scheint, dass Sie dies möchten: https://lists.gnu.org/archive/html/screen-users/2009-12/msg00144.html
quelle