`Shift + PageUp` / `Shift + PageDown`のエスケープシーケンスを見つけるには?

`Shift + PageUp` / `Shift + PageDown`のエスケープシーケンスを見つけるには?

Shift + PageUp/のエスケープシーケンスを見つける方法はShift + PageDown

Googleで検索していくつかの提案を試しましたが、常に発生する問題は、このキーを押すと画面が上下にスクロールするか何も印刷されないことです。

PageUp / PageDown関数に割り当てることができるようにエスケープシーケンスを取得しようとしています。マルチプレクサ、TTY/仮想コンソールにあるとき。最近はわかりますがLinuxこの機能はカーネルから削除されました。

関連する場合、Shift端末で使用される他の関連バインディングワイツ用語:

{key='UpArrow', mods='SHIFT', action=wezterm.action{SendString='\x1b[a'}},
{key='DownArrow', mods='SHIFT', action=wezterm.action{SendString='\x1b[b'}},
{key='LeftArrow', mods='SHIFT', action=wezterm.action{SendString='\x1b[d'}},
{key='RightArrow', mods='SHIFT', action=wezterm.action{SendString='\x1b[c'}},

単に上記のエスケープシーケンスの精神と一致するエスケープシーケンスを提供することは大丈夫です。

ベストアンサー1

これを見つけるために、まず端末エミュレータを抑制しました。ワイツ用語の主キーバインディングな~/.wezterm.luaので、端末に渡されます。

local wezterm = require 'wezterm';

return {
  disable_default_key_bindings = true,
  ...
}

その後、次のコマンドを使用してエスケープシーケンスを取得できます。

$ showkey -a

Press any keys - Ctrl-D will terminate this program

^[[5;2~          27 0033 0x1b
         91 0133 0x5b
         53 0065 0x35
         59 0073 0x3b
         50 0062 0x32
        126 0176 0x7e
^[[6;2~          27 0033 0x1b
         91 0133 0x5b
         54 0066 0x36
         59 0073 0x3b
         50 0062 0x32
        126 0176 0x7e
^D        4 0004 0x04

だから彼らは:

  • Shift + PageUp:\e[5;2~
  • Shift + PageDown:\e[6;2~

おすすめ記事