Saya ingin memetakan pengikat tombol
Ctrl+ Shift+ Tabdi rxvt-unicode
. Saya berhasil memetakan Ctrl+ Tabsebagai berikut. Entri yang sesuai dalam .Xresources
adalah
URxvt.keysym.Control-Tab: \033[27;5;9~
Menggunakan cat -v
mengkonfirmasi bahwa pemetaan ini berfungsi:
$ cat -v
^[[27;5;9~
Urutan ^[[27;5;9~
kemudian dapat digunakan dalam aplikasi seperti
vim
untuk memetakan Ctrl+ Tab. Saya berharap .Xresources
entri berikut berfungsi sama.
URxvt.keysym.Control-Shift-Tab: \033[27;6;9~
Namun, cat
tidak menunjukkan pemetaan yang benar:
$ cat -v
^[[Z
Bagaimana cara mengatur pemetaan Ctrl+ Shift+ Tab?
Edit
Pemetaan
URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~
URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~
berperilaku sama. Setelah menekan Ctrl+ pertama Tab, melepaskan keduanya lalu menekan Return dua kali lalu menekan Ctrl+ Shift+ Tab, melepaskan semua lalu menekan Return dua kali saya mendapatkan output berikut:
$ cat -v
^[[27;5;9~
^[[27;5;9~
^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
- Kasus Ctrl+ Tab: Pengembalian pertama membuat input muncul lagi sebagai output.
- Kasus Ctrl+ Shift+ Tab: Pengembalian pertama menghasilkan tanda
↵
, pengembalian kedua menghasilkan baris terakhir yang ditunjukkan di atas.
Sunting selanjutnya: Informasi lebih lanjut
Apa yang terjadi jika Anda menekan ctrl-shift (lepaskan keduanya tanpa menekan tombol apa pun), lalu masuk, di jendela yang berbeda?
Di jendela urxvt yang berbeda? Ketika saya menekan Ctrl + Shift dan melepaskan kedua tombol kotak kuning nyaring muncul di sudut kiri bawah: KEYCAP PICTURE INSERT
MODE
tampaknya berasal dari urxvt, itu tidak muncul di aplikasi lain.
Atau bahkan hanya ctrl-shift-tab lalu masuk di jendela yang berbeda (maksud saya bukan rxvt, seperti di jendela gedit atau browser web atau sesuatu.)
Saya mendapat baris baru.
Apa yang terjadi jika Anda menekan shift + ctrl + tab [yaitu bergeser ke bawah, ctrl ke bawah, tab, ctrl ke atas, menggeser ke atas] sebagai gantinya, atau sebaliknya jika itu yang Anda lakukan?
Di 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)
Saya mencoba untuk mempersempit hal-hal karena saya pikir Anda mungkin memiliki semacam pemetaan pada "ctrl + shift" di xcompose atau sesuatu.
Bukannya aku sadar, tapi kamu tidak pernah tahu.
Apa output xev ketika Anda menekan "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
output urutan yang disebutkan, Ctrl-Shift-Tab
mengeluarkan urutan yang benar ^[[27;6;9~
namun penekanan tombol berikutnya tidak ditafsirkan seperti biasa. Pada cat -v
output Ctrl-Shift-Tab
+ enter display sebagai ^[[27;6;9~↵
, alih-alih dua baris ^[[27;6;9~
(satu untuk input, satu untuk output). Pemetaan ini tidak akan berfungsi di vim. Anda punya ide lain?
xev
ketika Anda menekan "ctrl + shift + tab, enter"?