Gostaria de mapear a combinação de teclas
Ctrl+ Shift+ Tabin rxvt-unicode
. Eu consegui mapear Ctrl+ da Tabseguinte maneira. A entrada correspondente em .Xresources
é
URxvt.keysym.Control-Tab: \033[27;5;9~
O uso cat -v
confirma que esse mapeamento funciona:
$ cat -v
^[[27;5;9~
A sequência ^[[27;5;9~
pode ser usada em aplicativos como o
vim
mapeamento Ctrl+ Tab. Eu esperaria que a seguinte .Xresources
entrada funcionasse da mesma maneira.
URxvt.keysym.Control-Shift-Tab: \033[27;6;9~
No entanto, cat
não mostra o mapeamento correto:
$ cat -v
^[[Z
Como configurar o mapeamento Ctrl+ Shift+ Tab?
Editar
Os mapeamentos
URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~
se comporta da mesma maneira. Depois de pressionar Ctrl+ Tab, liberar os dois e pressionar Return duas vezes e pressionar Ctrl+ Shift+ Tab, liberar tudo e pressionar Return duas vezes , recebo a seguinte saída:
$ cat -v
^[[27;5;9~
^[[27;5;9~
^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
- Case Ctrl+ Tab: O primeiro retorno faz com que a entrada apareça novamente como saída.
- Caso Ctrl+ Shift+ Tab: O primeiro retorno produz o sinal
↵
, o segundo retorno produz a última linha mostrada acima.
Próxima edição: Mais informações
O que acontece se você pressionar ctrl-shift (solte os dois sem pressionar nenhuma tecla) e depois entrar em uma janela diferente?
Em uma janela urxvt diferente? Quando pressiono Ctrl + Shift e solto as duas teclas, uma caixa amarela estridente aparece no canto inferior esquerdo: KEYCAP PICTURE INSERT
MODE
parece vir do urxvt, não aparece em outros aplicativos.
Ou apenas pressione Ctrl-Shift-Tab e entre em uma janela diferente (não quero dizer rxvt, como em uma janela do Gedit ou no navegador da Web ou algo assim.)
Eu recebo uma nova linha.
O que acontece se você pressionar Shift + Ctrl + Tab [ie Shift, Ctrl Down, Tab, Ctrl Up, Shift Up] ou vice-versa, se era isso que você estava fazendo?
No urxvt?
$ cat -v
shift+ctrl+tab then enter: ^[[27;6;9~
ctrl+shift+down: ↓
ctrl+shift+up: ↑
shift+down: ^[[b
shift+up: ^[[a
ctrl+down: ^[Ob
ctrl+up: ^[Oa
tab: | | (tab)
Estou tentando restringir as coisas porque acho que você pode ter algum tipo de mapeamento em "ctrl + shift" no xcompose ou algo assim.
Não que eu saiba, mas você nunca sabe.
Qual é a saída do xev quando você pressiona "ctrl + shift + tab, enter"?
KeyPress event, serial 32, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311734869, (567,395), root:(567,411),
state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311734971, (567,395), root:(567,411),
state 0x4, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311736110, (567,395), root:(567,411),
state 0x5, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311736494, (567,395), root:(567,411),
state 0x5, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311736525, (567,395), root:(567,411),
state 0x5, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311736525, (567,395), root:(567,411),
state 0x4, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311737530, (567,395), root:(567,411),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
" XmbLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4800001,
root 0xb4, subw 0x0, time 311737633, (567,395), root:(567,411),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
fonte
Ctrl-Tab
cat -v
gera a sequência mencionada,Ctrl-Shift-Tab
gera a sequência correta,^[[27;6;9~
no entanto, a próxima pressão de tecla não é interpretada como de costume. Nacat -v
saídaCtrl-Shift-Tab
+ enter é exibido como^[[27;6;9~↵
, em vez de duas linhas^[[27;6;9~
(uma para entrada e uma para saída). Esse mapeamento não funcionaria no vim. Você tem outra idéia?xev
quando você pressiona "ctrl + shift + tab, enter"?Respostas:
ShiftO + Tabé frequentemente mapeado para o ISO_Left_Tabteclado no X11, portanto, alguns programas podem precisar disso em vez de uma literal 'shift-tab' em sua configuração.
O urxvt possui um mapeamento estranho no ctrl + shift, parece que você precisará recompilar para desativá-lo: consulte esta página para obter mais detalhes. EDIT Parece que nas versões recentes do rxvt você pode simplesmente adicionar
fonte
Eu tenho
S-Tab
trabalhado com isso:e no vim eu tenho
fonte
Resposta parcial: Você pode desativar o modo Control-Shift ISO 14755 - pelo menos no URxvt moderno - adicionando o seguinte ao seu arquivo .Xdefaults (ou talvez .Xresources, dependendo do seu sistema):
fonte