rxvt-unicodeのMap Control-Shift-Tab


9

私はキーバインドにマッピングしたい Ctrl+ Shift+ Tabでをrxvt-unicodeCtrl+ Tabを次のようにマッピングすることができました。の対応するエントリ.Xresources

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

を使用するとcat -v、このマッピングが機能することが確認されます。

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

^[[27;5;9~その後、シーケンスはvimマッピングCtrl+ などのアプリケーションで使用できます Tab。次の.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 2回押してからCtrl+ Shift+ Tabを押してすべてを離してからReturn 2回押すと、次の出力が得られます。

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


^[[27;6;9~↵
^[[27;6;9~M-bM-^FM-5
  • ケースCtrl+ Tab:最初のリターンにより、入力が出力として再び表示されます。
  • ケースCtrl+ Shift+ Tab:最初の戻りは符号を生成し、2番目の戻りは上記の最後の行を生成します。

次の編集:詳細

ctrl-shift(キーを押さずに両方を離す)を押してから、別のウィンドウで入力するとどうなりますか?

別のurxvtウィンドウで?Ctrl + Shiftを押して両方のキーを離すと、左下隅に非常に強い黄色のボックスが表示されKEYCAP PICTURE INSERT MODEます。それはurxvtに由来するようですが、他のアプリケーションでは表示されません。

または、ctrl-shift-tabだけで別のウィンドウに移動することもできます(つまり、geditウィンドウやWebブラウザーなどのrxvtではありません)。

改行します。

代わりに、shift + ctrl + tabを押した場合(つまり、shift down、ctrl down、tab、ctrl up、shift up)、またはその逆の場合はどうなりますか?

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

私はこれがうまくいくかどうかわからないので、まだ回答として投稿しませんが、Control-Shift-ISO_Left_TabまたはControl-ISO_Left_Tabを試してください。
Random832 2012年

@ Random832これは間違いなく正しい方向へのナッジですが、マッピングの動作がおかしいです。を押すとCtrl-Tab cat -v、前述のシーケンスがCtrl-Shift-Tab出力され、正しいシーケンス^[[27;6;9~が出力されますが、次のキーを押すと、通常のように解釈されません。でcat -v出力Ctrl-Shift-Tab+としてディスプレイに入る^[[27;6;9~↵代わりに、2行、^[[27;6;9~(入力用、出力用)。このマッピングはvimでは機能しません。別のアイデアはありますか?
Marco

文字通りの↵記号のように?Enterキーを押す前に、Ctrl-Shiftを放しますか?私が提案した2つのマッピングのどちらがうまくいったので、答えを書き始めることができますか?
Random832

@ Random832詳細な情報を追加しました(編集を参照)。これまでの努力に感謝します。
Marco

ctrl-shift(キーを押さずに両方を離す)を押してから、別のウィンドウで入力するとどうなりますか?または、ctrl-shift-tabだけで別のウィンドウに入る(つまり、geditウィンドウやWebブラウザーなどのrxvtではない)。shift+ ctrl + tabを押すとどうなりますか。 、タブ、Ctrlキーを押しながらシフトアップ、シフトアップ]代わりに、またはその逆の場合は、xcomposeなどで「ctrl + shift」に何らかのマッピングがあると思うので、絞り込みを試みています。xev「Ctrl + Shift + Tab、Enter」を押したときの出力は何ですか?
Random832 2012年

回答:


2

Shift+ TabISO_Left_TabX11 のキーシムにマップされることが多いため、一部のプログラムでは、設定でリテラルの「シフトタブ」の代わりにこれを必要とする場合があります。

urxvtのctrl + shiftに奇妙なマッピングがあります。無効にするには再コンパイルする必要があるようです。詳細については、このページ参照してください。編集それはrxvtの最近のバージョンでは簡単に追加できるように見えます

URxvt.iso14755_52: False

3

私はこれで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>

1

部分的な回答:.Xdefaultsファイル(または、システムによっては.Xresources)に以下を追加することで、Control-Shift ISO 14755モードを無効にできます(少なくとも最新のURxvtでは)。

URxvt.iso14755:    false
URxvt.iso14755_52: false
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.