Ricollegamento di CTRL-ALT- [C | V] a CTRL-SHIFT- [C | V] in URxvt> = 9.20


Risposte:


22

L'estensione eval fornita con rxvt-unicode ha azioni paste_clipboard e selection_to_clipboard per questo, che possono essere associate a qualsiasi keyym (vedi qui ).

Nel tuo .Xresourcesaggiungi:

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

Per disabilitare le combinazioni di tasti precedenti, dovrai anche:

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

Puoi ricaricare il file con:

xrdb -load .Xresources

È necessario riavviare rxvt per rendere effettive le modifiche.


1
questo non ha funzionato affatto fino a quando non l'ho aggiunto o modificato anche per .Xresources: URxvt.perl-ext-common: default disabilitare anche i keycap in base a questa risposta: unix.stackexchange.com/a/444777/8827
marinara

2

Il codice implementa queste due associazioni in questo modo:

  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;
    }

Non è possibile utilizzare la keysymrisorsa per rebind qualcos'altro, dato che le mappe solo per le stringhe (modificatori, come controle alt).

Tuttavia, è possibile utilizzare l'estensione Perl, che ha metodi per lavorare con le selezioni. Ma dovresti scrivere uno script Perl per legarli insieme.


1

Per utilizzare le estensioni eval ( paste_clipboarde selection_to_clipboard) menzionate nella risposta di @ Enno, puoi aggiungere quanto segue al tuo .Xresourcesfile:

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

Di per sé, questo non risponde davvero alla domanda. Puoi migliorarlo descrivendo come usare il .Xresourcesfile per associare le chiavi, poiché la risposta di Enno no.
G-Man dice "Ripristina Monica" il

1

Tutte le risposte esistenti gestiscono la seconda metà della domanda (come aggiungere le combinazioni di tasti per le operazioni degli Appunti alle nuove chiavi), ma non rispondere alla prima metà (come liberare le combinazioni di tasti originali).

La risposta è semplicemente vincolarli a builtin-string:(se si desidera che vengano inviati alla lettera; altrimenti, all'azione desiderata). Cioè, in .Xresources:

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

Oppure, dalla riga di comando:

-keysym.C-M-c builtin-string:
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.