Relier CTRL-ALT- [C | V] à CTRL-SHIFT- [C | V] dans URxvt> = 9.20


Réponses:


22

L'extension eval livrée avec rxvt-unicode a pour cela des actions paste_clipboard et selection_to_clipboard, qui peuvent être liées à n'importe quelle clé (voir ici ).

Dans votre .Xresourcesajout:

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard

Pour désactiver les raccourcis clavier précédents, vous aurez également besoin:

URxvt.keysym.Control-Meta-c: builtin-string:
URxvt.keysym.Control-Meta-v: builtin-string:

Vous pouvez recharger le fichier avec:

xrdb -load .Xresources

Vous devrez redémarrer rxvt pour que les modifications prennent effet.


1
cela n'a pas fonctionné du tout jusqu'à ce que .Xresources: URxvt.perl-ext-common: default j'ajoute ou modifie également ceci pour #désactiver également les keycaps selon cette réponse: unix.stackexchange.com/a/444777/8827
marinara

2

Le code implémente ces deux liaisons comme ceci:

  if (ctrl && meta && (keysym == XK_c || keysym == XK_v))
    { 
      if (keysym == XK_v)
        selection_request (ev.time, Sel_Clipboard);
      else if (selection.len > 0)
        { 
          free (selection.clip_text);
          selection.clip_text = rxvt_wcsdup (selection.text, selection.len);
          selection.clip_len = selection.len;
          selection_grab (CurrentTime, true);
        }

      return;
    }

Vous ne pouvez pas utiliser la keysymressource pour relier autre chose, car cela ne correspond qu'aux chaînes (pas de modificateurs tels que controlet alt).

Cependant, vous pouvez utiliser l'extension Perl, qui a des méthodes pour travailler avec les sélections. Mais vous devez écrire un script Perl pour les lier ensemble.


1

Pour utiliser les extensions eval ( paste_clipboardet selection_to_clipboard) mentionnées dans la réponse de @ Enno, vous pouvez ajouter ce qui suit à votre .Xresourcesfichier:

URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard

En soi, cela ne répond pas vraiment à la question. Vous pouvez l'améliorer en décrivant comment utiliser le .Xresourcesfichier pour lier les clés, car la réponse d'Enno ne le fait pas.
G-Man dit `` Réinstalle Monica '' le

1

Toutes les réponses existantes traitent la deuxième moitié de la question (comment ajouter des raccourcis clavier pour les opérations du presse-papiers aux nouvelles clés), mais ne répondent pas à la première moitié (comment libérer les raccourcis clavier d'origine).

La réponse est simplement de les lier à builtin-string:(si vous souhaitez qu'ils soient envoyés textuellement; sinon, à l'action souhaitée). C'est-à-dire, en .Xresources:

URxvt.keysym.C-M-c: builtin-string:

Ou, sur la ligne de commande:

-keysym.C-M-c builtin-string:
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.