rxvt-unicode에서 Control-Shift-Tab 매핑

rxvt-unicode에서 Control-Shift-Tab 매핑

Ctrl키 바인딩 ++를 에 Shift매핑 하고 싶습니다 . 다음과 같이 +를 매핑했습니다 . 해당 항목 은 다음과 같습니다.Tabrxvt-unicodeCtrlTab.Xresources

URxvt.keysym.Control-Tab: \033[27;5;9~

다음을 사용하여 cat -v이 매핑이 유효한지 확인하세요 .

$ cat -v
^[[27;5;9~

그러면 이 시퀀스는 Map + 와 같은 애플리케이션 ^[[27;5;9~에서 사용될 수 있습니다 . 다음 항목도 동일하게 수행되기를 바랍니다 .vimCtrlTab.Xresources

URxvt.keysym.Control-Shift-Tab: \033[27;6;9~

그러나 cat올바른 매핑은 표시되지 않습니다.

$ cat -v
^[[Z

Ctrl++ Shift매핑을 설정하는 방법은 무엇입니까 Tab?

편집하다

매핑

URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~    
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~

행동은 동일합니다. 처음에 Ctrl+를 누른 후 Tab둘 다 놓은 다음 누르십시오.Return 두 배Ctrl그런 다음 + Shift+ 를 누르고 Tab모두 놓은 다음 누르십시오.Return 두 배다음과 같은 결과가 나타납니다.

$ cat -v
^[[27;5;9~
^[[27;5;9~


^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
  • 사례 Ctrl+ Tab: 첫 번째 반환으로 인해 입력이 다시 출력으로 나타납니다.
  • 사례 Ctrl++ : 첫 번째 반환은 기호를 생성 하고 두 번째 반환 Shift은 위에 표시된 마지막 줄을 생성합니다.Tab

다음 편집: 추가 정보

Ctrl-Shift를 누른 다음(아무 키도 누르지 않고 놓으면) 다른 창에 입력하면 어떻게 됩니까?

다른 urxvt 창에서? Ctrl+Shift를 누르고 두 키를 모두 놓으면 왼쪽 하단에 눈부신 노란색 상자가 나타납니다. KEYCAP PICTURE INSERT MODE이는 urxvt에서 발생한 것으로 보이지만 다른 응용 프로그램에는 나타나지 않습니다.

아니면 ctrl-shift-tab을 누르고 다른 창에 입력해도 됩니다. (gedit 창이나 웹 브라우저 등에서 rxvt를 의미하는 것은 아닙니다.)

나는 새로운 라인을 얻는다.

Shift+Ctrl+Tab[예: 아래로 이동, 아래로 이동, 탭, 위로 이동, 위로 이동]을 누르거나 그 반대로 하면 어떻게 되나요?

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)

xcompose 등의 "ctrl+shift"에 대한 일종의 매핑이 있을 수 있다고 생각하기 때문에 범위를 좁히려고 합니다.

제가 아는 한은 아니지만, 아무도 모릅니다.

"ctrl+shift+tab, enter"를 누르면 xev의 출력은 무엇입니까?

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

답변1

나는 S-Tab이것을 다루었습니다 :

URxvt.keysym.C-Tab: \033{
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033} 
! disable ctrl-shift
URxvt*iso14755: False 
URxvt*iso14755_52: False

vim에서 나는

nmap ^[{ :tabnext<cr>
imap ^[{ <ESC>:tabnext<cr>
nmap ^[} :tabprevious<cr>
imap ^[} <ESC>:tabprevious<cr>

답변2

Shift+는 Tab일반적으로 X11의 키 기호에 매핑되므로 ISO_Left_Tab일부 프로그램에서는 구성에서 문자 그대로 "shift-tab" 대신 +가 필요할 수 있습니다.

urxvt에 ctrl+shift에 대한 이상한 매핑이 있습니다. 이를 비활성화하려면 다시 컴파일해야 하는 것 같습니다. 참조이 페이지자세한 내용은. 편집 최신 버전의 rxvt에서는 간단히 추가할 수 있는 것 같습니다.

URxvt.iso14755_52: False

답변3

부분 답변: .Xdefaults 파일(또는 시스템에 따라 .Xresources)에 다음을 추가하여 Control-Shift ISO 14755 모드(적어도 최신 URxvt에서는)를 비활성화할 수 있습니다.

URxvt.iso14755:    false
URxvt.iso14755_52: false

관련 정보