Vorrei mappare il keybinding
Ctrl+ Shift+ Tabin rxvt-unicode
. Sono riuscito a mappare Ctrl+ Tabcome segue. La voce corrispondente .Xresources
è
URxvt.keysym.Control-Tab: \033[27;5;9~
L'utilizzo cat -v
conferma che questa mappatura funziona:
$ cat -v
^[[27;5;9~
La sequenza ^[[27;5;9~
può quindi essere utilizzata in applicazioni come
vim
per la mappatura Ctrl+ Tab. Mi aspetto che la seguente .Xresources
voce funzioni allo stesso modo.
URxvt.keysym.Control-Shift-Tab: \033[27;6;9~
Tuttavia, cat
non mostra il mapping corretto:
$ cat -v
^[[Z
Come impostare la mappatura Ctrl+ Shift+ Tab?
modificare
Le mappature
URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~
comportarsi allo stesso modo. Dopo aver prima premuto Ctrl+ Tab, rilasciando entrambi e poi premendo Return due volte e quindi premendo Ctrl+ Shift+ Tab, rilasciando tutto e quindi premendo Return due volte ottengo il seguente output:
$ cat -v
^[[27;5;9~
^[[27;5;9~
^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
- Caso Ctrl+ Tab: il primo ritorno fa apparire di nuovo l'input come output.
- Caso Ctrl+ Shift+ Tab: il primo ritorno produce il segno
↵
, il secondo ritorno produce l'ultima riga mostrata sopra.
Prossima modifica: ulteriori informazioni
Cosa succede se si preme ctrl-shift (rilasciare entrambi senza premere alcun tasto), quindi si accede, in una finestra diversa?
In un'altra finestra di urxvt? Quando premo Ctrl + Maiusc e rilascio entrambi i tasti, nell'angolo in basso a sinistra appare una casella gialla stridente: KEYCAP PICTURE INSERT
MODE
sembra provenire da urxvt, non appare in altre applicazioni.
O anche semplicemente ctrl-shift-tab quindi entrare in una finestra diversa (intendo non rxvt, come in una finestra gedit o nel browser web o qualcosa del genere).
Ho una nuova linea.
Cosa succede se si preme MAIUSC + CTRL + TAB [ovvero MAIUSC, CTRL GIÙ, TAB, CTRL SU, MAIUSC] invece, o viceversa se era quello che stavi facendo?
In 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)
Sto cercando di restringere le cose perché penso che potresti avere una sorta di mappatura su "ctrl + shift" in xcompose o qualcosa del genere.
Non che ne sia consapevole, ma non lo sai mai.
Qual è l'output di xev quando premi "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
Ctrl-Tab
cat -v
emette la sequenza menzionata, Ctrl-Shift-Tab
emette la sequenza corretta, ^[[27;6;9~
tuttavia la successiva pressione del tasto non viene interpretata come al solito. In cat -v
uscita Ctrl-Shift-Tab
+ immettere mostra come ^[[27;6;9~↵
, invece di due linee ^[[27;6;9~
(uno per l'ingresso, uno per l'uscita). Questa mappatura non funzionerebbe in vim. Hai un'altra idea?
xev
quando si preme "ctrl + maiusc + tab, invio"?