Map-Shift-Tab in rxvt-unicode
I want to map keybindings Ctrl++ to Shift. I managed to map + as follows. The corresponding entry isTabrxvt-unicode
CtrlTab.Xresources
URxvt.keysym.Control-Tab: \033[27;5;9~
Confirm that this mapping is valid using :cat -v
$ cat -v
^[[27;5;9~
^[[27;5;9~
This sequence can then be used in applications such as vim
map Ctrl+ Tab. I want the following .Xresources
entry to work.
URxvt.keysym.Control-Shift-Tab: \033[27;6;9~
However, cat
the correct mapping is not shown:
$ cat -v
^[[Z
How to build Ctrl+ Shift+ Tabmapping?
edit
map
URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~
behaves the same. Press Ctrl+ first Tab, release two, then press Return twice , then Ctrl+ Shift+ Tab, release all, then press Return twice , I get the following output:
$ cat -v
^[[27;5;9~
^[[27;5;9~
^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
- Case Ctrl+ Tab: The first return makes the input appear as output again.
- Case Ctrl+ Shift+ Tab: The first return produces the symbol
↵
, the second returns the previous line.
NEXT EDIT: MORE INFORMATION
What happens if you press ctrl-shift (release both keys without pressing any) and then type in another window?
in different urxvt windows? When I press Ctrl+Shift and release both keys, a noticeable yellow box appears in the bottom left corner: KEYCAP PICTURE INSERT MODE
it seems to be from urxvt, which doesn't appear in other applications.
Or even just ctrl-shift-tab then type in another window (I don't mean rxvt, like in a gedit window or a web browser or something.)
I changed a line.
What happens if you press shift+ctrl+tab (ie move down, ctrl down, tab, ctrl up, up) and vice versa (if you are doing that)?
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)
I'm trying to narrow it down because I think you might have some kind of mapping on "ctrl+shift" in xcompose.
Not that I know, but you never know.
What is the output of xev when you press "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
Shift+ Tabis usually mapped to keyym ISO_Left_Tabin X11 , so some programs may need it instead of the literal "shift-tab" in their config.
urxvt has a weird mapping on ctrl+shift, it seems you have to recompile to disable it: see this page for more details . EDIT Looks like in recent versions of rxvt you can simply add
URxvt.iso14755_52: False