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++:最初の戻りはシンボルを生成し、2番目の戻りShiftは上記の最後の行を生成します。Tab

次の編集:追加情報

Ctrl-Shiftを押してから(何も押さずに離すと)、別のウィンドウに入力するとどうなりますか?

別のurxvtウィンドウから? Ctrl+Shift キーを押しながら両方のキーを放すと、左下に眩しい黄色のボックスが表示されます。KEYCAP PICTURE INSERT MODEこれはurxvtで発生したようですが、他のアプリケーションには表示されません。

あるいは、ctrl-shift-tabを押して別のウィンドウに入力することもできます。 (geditウィンドウやWebブラウザなどで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

関連情報