Super_L
est un X keysym. Tmux s'exécute dans un terminal. C'est à votre émulateur de terminal de transformer une clé de clavier en une séquence de caractères. Vous devrez donc configurer à la fois votre émulateur de terminal et tmux.
En regardant la documentation tmux, le préfixe ne peut être qu'un nom de clé connu avec un modificateur facultatif. Ainsi, vous pouvez définir le préfixe tmux sur une combinaison de touches que vous n'utilisez pas, par exemple M-F12
, et demander à votre terminal d'envoyer la séquence de caractères M-F12
lorsque vous appuyez sur Super_L
. Avec un peu plus de travail, vous pourriez utiliser une clé que votre clavier ne possède probablement pas (tmux accepte F13
via F20
comme noms de clés, mais ils doivent être déclarés dans terminfo).
Du côté de l'émulateur de terminal, vous devez organiser la Super_L
génération de la séquence de touches \e\e[24~
(pour M-F12
) ou \e[34~
(pour F20
) (où \e
est le caractère d'échappement). La procédure à suivre dépend de l'émulateur de terminal (et certains ne sont pas suffisamment configurables pour le faire). Avec xterm, cela se fait via les ressources X:
! Make Super_L act as Meta+F12
XTerm.VT100.translations: #override \
<Key>Super_L: string("\033\033[24~")
Vous pouvez frapper un accroc qui Super_L
est normalement un modificateur, et les touches de modification ne fonctionnent pas toujours lorsqu'un non-modificateur est requis. Si vous ne voulez Super_L
pas être un modificateur, vous pouvez retirer son modificateur ou (moins confus) utiliser une clé différente pour la clé physique. Cela peut être fait via xmodmap (à l'ancienne et simple à comprendre), via xkb (la manière moderne, peu documentée, puissante et complexe), ou peut-être via l'outil de configuration GUI de votre environnement de bureau.
Gilles 'SO- arrête d'être méchant'
la source
Super_L
est un symbole de clé X, donc vous avez probablement un serveur X quelque part (si vous vous connectiez depuis Windows, je suppose que vous appelleriez la clé la touche Windows gauche). Tmux s'exécute dans un terminal et lit son entrée sous forme d'octets, avec des touches de fonction traduites en séquences d'échappement. Une connexion à distance est transparente, ssh transmet simplement les octets qui composent la séquence d'échappement.Tu ne peux pas. La liaison d'une touche appellera la
cmd_bind_key_parse
fonction à partir decmd-bind-key.c
laquelle, à son tour, appellerakey_string_get_modifiers
dekey-string.c
:Le
tmux.c
contient les#define
déclarations des touches de modification et à partir de ce fichier, nous avons:En surface, il ne semble pas trop difficile à modifier; peut-être un week-end (fameux derniers mots;)) projet?
la source
Je n'ai pas pu définir de préfixe sur une touche de modification personnalisée, mais j'ai réussi à définir des liaisons tmux en combinaison avec une touche de modification personnalisée sous Gnome en combinaison avec Metacity. Par exemple, pour mapper
Mod4
+k etMod4
+ jpour passer respectivement au panneau actuel de haut en bas:Cela permet des liaisons tmux en combinaison avec par exemple la touche Windows. Quelque chose dans ce sens fonctionne pour tout gestionnaire de fenêtres qui permet de définir des raccourcis clavier globaux (Compiz, KWin, etc.).
la source
Semble que vous le vouliez: https://lists.gnu.org/archive/html/screen-users/2009-12/msg00144.html
la source