Reconfigurando CTRL-ALT- [C | V] em CTRL-SHIFT- [C | V] em URxvt> = 9.20


Respostas:


22

A extensão eval fornecida com o rxvt-unicode possui ações paste_clipboard e selection_to_clipboard para isso, que podem ser vinculadas a qualquer chave (veja aqui ).

No seu .Xresourcesadd:

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

Para desativar as combinações de teclas anteriores, você também precisará:

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

Você pode recarregar o arquivo com:

xrdb -load .Xresources

Você precisará reiniciar o rxvt para que as alterações entrem em vigor.


1
Isto não funcionou em tudo até que eu também adicionar ou editar isso para .Xresources: URxvt.perl-ext-common: default #also keycaps desativar quando por esta resposta: unix.stackexchange.com/a/444777/8827
marinara

2

O código implementa essas duas ligações assim:

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

Você não pode usar o keysymrecurso para religar outra coisa, uma vez que apenas mapeia para cadeias (sem modificadores como controle alt).

No entanto, você pode usar a extensão Perl, que possui métodos para trabalhar com seleções. Mas você teria que escrever um script Perl para amarrá-los.


1

Para usar as extensões eval ( paste_clipboarde selection_to_clipboard) mencionadas na resposta do @ Enno, você pode adicionar o seguinte ao seu .Xresourcesarquivo:

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

Por si só, isso realmente não responde à pergunta. Você pode aprimorá-lo descrevendo como usar o .Xresourcesarquivo para vincular as chaves, pois a resposta do Enno não.
G-Man diz 'Reinstate Monica'

1

Todas as respostas existentes tratam da segunda metade da pergunta (como adicionar combinações de teclas para operações da área de transferência a novas chaves), mas não respondem a primeira metade (como liberar as combinações de teclas originais).

A resposta é simplesmente vinculá-los a builtin-string:(se você desejar que eles sejam enviados literalmente; caso contrário, à ação desejada). Ou seja, em .Xresources:

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

Ou, na linha de comando:

-keysym.C-M-c builtin-string:
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.