0 votes

comment lier le double tapotement de la touche shift dans tmux

J'ai passé un certain temps hier à essayer de comprendre comment lier une double tapotement -pour tmux, et j'ai fait quelques progrès, mais encore incomplets.

j'espère pouvoir maximiser/minimiser un volet dans une fenêtre tmux en appuyant deux fois sur la touche shift. encore mieux si je peux le mapper de manière granulaire à la touche shift gauche et que le fait d'appuyer deux fois sur la touche shift droite effectue une liaison de touche différente.

En faisant des recherches sur la façon de procéder, je suis tombé sur ce q&a unix/linux stackexchange . la personne qui a posé cette question demande essentiellement la même chose que moi, mais sur une plateforme gnu+linux et non sur une plateforme darwin+bsd, c'est-à-dire MacOS.

en ce que q&a unix/linux l'op qui fournit la réponse acceptée recommande d'utiliser xcape pour mapper un binding personnalisé pour xterm (si je comprends bien), et je crois que xcape est lié au gestionnaire de fenêtre X11, et j'utilise Alacritty comme ému de terminal avec Aqua comme environnement de bureau, donc je ne pense pas qu'utiliser xcape est une solution viable sous MacOS. Je connais karabiner-elements pour définir des mappages de touches personnalisés sous MacOS, ce que j'ai fait pour plusieurs touches, mais je ne pense pas avoir à le faire (mais je peux me tromper) car ce binding est spécifique à mon emu.

il semble que soit mes mappings tmux ne sont pas corrects, soit alacritty ne transmet pas le mappage à tmux afin d'effectuer le mappage. c'est là que les choses deviennent confuses pour moi.

J'ai essayé plusieurs choses dans ma tmux.conf

set-option prefix2 "f11" # WORK!!!
bind-key "f11" resize-pane -Z # double tap f11 (requires holding fn key on mbp keyboard)

lorsque je règle le prefix2 avec le paramètre ci-dessous

set-option prefix2 "C-S-M"
bind C-S-M display "ctrl+shift+meta pressed"

je fais no voir le message clignoter dans la barre d'état de mon tmux.

j'ai d'autres combinaisons de touches dans tmux qui utilisent la touche shift avec les touches fléchées, donc je sais que ce n'est pas un problème avec la touche shift, donc je ne sais pas quel programme n'est pas configuré correctement.

J'ai mon alacritty.yml Le fichier config est hébergé dans mon repo dotfiles, et mon tmux.conf est hébergé dans le même repo mais j'ai collé les parties importantes ci-dessus. Veuillez excuser mon ignorance si j'oublie quelque chose de trivial.

1voto

Nicholas Marriott Points 111

La liaison C-S-M ne fonctionnera pas pour deux raisons. Premièrement, il n'y a pas de clé S-M - M est déjà décalé. Deuxièmement, il n'y a pas de touches de contrôle en majuscules. Voir https://github.com/tmux/tmux/wiki/Modifier-Keys#limitations-of-ctrl-keys .

Votre meilleure chance pour les touches que le terminal ne peut pas envoyer est de les associer à une touche que le terminal peut envoyer (comme F11 ou C-F2) en utilisant xbindkeys ou un programme similaire.

Vous n'avez pas besoin de modifier le préfixe pour faire fonctionner la double pression sur une touche, vous pouvez le faire avec des tables de touches, par exemple quelque chose comme :

bind -Tmytable F11 lsk
bind -Troot F11 switchc -Tmytable

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X