私は徹底的に答えを見つけたと約束します。
だから私の目標は、画面上のキーバインディングを使用して標準のurxvt "タブ"アクションをエミュレートすることです。つまり、ctrl+ left(前)、ctrl+ right(次)、ctrl- down(新しい(?))の3つのキーバインディングをマッピングすることです。
今、私は次のいくつかのコメントで左と右のキーバインディングを見つけました。ここそしてここで。
したがって、合計は「右矢印」および「左矢印」キーと同じですOc
。Od
しかし、残りのキーバインディングをどこで見つけることができるかわかりません。私は以下を通して鍵を手に入れようとします。シフ出力は次のとおりです。
KeyPress event, serial 36, synthetic NO, window 0x2000001,
root 0xac, subw 0x0, time 50192748, (212,-106), root:(213,319),
state 0x4, keycode 116 (keysym 0xff54, Down), same_screen YES
答えはこの出力のどこかにあるようですが、正しい値(8進数、16進数、またはurxvtがまったく異なる値ですか?)が見つかりません。
誰かが私に正しい解決策を教えてもらえますか?
.screenrc
次のようにする必要があります
bindkey "^[Oc" next
bindkey "^[Od" prev
bindkey "^[DOWN" new
ありがとう、ステファンを応援します
答え1
代わりに、次のようにxev
してcat -v
urxvtから送信された文字を見つけることができます。
bindkey "^[Oc" next
bindkey "^[Od" prev
bindkey "^[Ob" new
xev
ターミナルエミュレータによって解釈され、アプリケーションに文字(たとえばscreen
)として送信されるXイベントを表示します。バインディングを設定するには、screen
ネイティブXイベントの代わりにこれらの文字を使用する必要があります。
追加資料:
- キーボードの送信内容をどのように確認できますか?(ncurses FAQ)
- ShiftまたはControl修飾子を使用するには?(ncurses FAQ)