web-dev-qa-db-fra.com

Comment puis-je lier le préfixe TMUX à un super?

Je trouve même Ctrl+b Pour être très emacs comme mais je comprends le point. Je me demande si je pouvais le lier à une seule frappe de la clé d'une clé, je n'ai pas d'autre choix de sages? à savoir Super_L (également appelé la touche Windows gauche. Pour pourquoi je dis Super_l Démarrer xev dans un terminal et appuyez sur cette touche)

21
xenoterracide

Vous ne pouvez pas. La liaison d'une clé appellera le cmd_bind_key_parse fonction de cmd-bind-key.c qui à son tour va (finalement) appeler key_string_get_modifiers à partir de key-string.c :

/* Find modifiers. */
105     int
106     key_string_get_modifiers(const char **string)
107     {
108         int modifiers;
109         
110         modifiers = 0;
111         while (((*string)[0] != '\0') && (*string)[1] == '-') {
112             switch ((*string)[0]) {
113                 case 'C':
114                 case 'c':
115                 modifiers |= KEYC_CTRL;
116                 break;
117                 case 'M':
118                 case 'm':
119                 modifiers |= KEYC_ESCAPE;
120                 break;
121                 case 'S':
122                 case 's':
123                 modifiers |= KEYC_SHIFT;
124                 break;
125             }
126             *string += 2;
127         }
128         return (modifiers);
129     } 

Le tmux.c contient la clé de modificateur #define Déclarations et de ce fichier que nous avons:

106     /* Key modifier bits. */
107     #define KEYC_ESCAPE 0x2000
108     #define KEYC_CTRL 0x4000
109     #define KEYC_SHIFT 0x8000
110     #define KEYC_PREFIX 0x10000 

Sur la surface, cela n'a pas l'air aussi difficile à modifier; Peut-être un week-end (les derniers mots derniers mots;)) Projet?

3
gvkv

Je n'ai pas pu définir un préfixe sur une clé de modification personnalisée, mais j'ai réussi à définir des liaisons TMUX en combinaison avec une clé de modificateur personnalisée sous Gnome en combinaison avec la métabilité. Par exemple, pour mapper Mod4 +k et Mod4 +j Pour passer au panneau actuel de haut en haut, respectivement:

gconftool-2 --set /apps/metacity/keybinding_commands/command_1 --type string "tmux select-pane -D"
gconftool-2 --set /apps/metacity/keybinding_commands/command_2 --type string "tmux select-pane -U"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_1 --type string "<Mod4>j"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_2 --type string "<Mod4>k"

Cela permet aux liaisons TMUX en combinaison avec par exemple la clé Windows. Quelque chose le long de ces lignes fonctionne pour tout gestionnaire de fenêtres permettant de définir des raccourcis clavier globaux (COMPIZ, KWIN, etc.).

2