`Shift + PageUp`/`Shift + PageDown`에 대한 이스케이프 시퀀스를 찾는 방법은 무엇입니까?

`Shift + PageUp`/`Shift + PageDown`에 대한 이스케이프 시퀀스를 찾는 방법은 무엇입니까?

Shift + PageUp/에 대한 이스케이프 시퀀스를 찾는 방법은 무엇입니까 Shift + PageDown?

Google에서 검색하고 몇 가지 제안을 시도했지만 항상 발생하는 문제는 이 키를 누르면 화면이 위/아래로 스크롤되거나 아무것도 인쇄되지 않는다는 것입니다.

PageUp/PageDown 함수에 할당할 수 있도록 이스케이프 시퀀스를 얻으려고 합니다.멀티플렉서, TTY/가상 콘솔에 있을 때. 최근에는 아시겠지만리눅스이 기능은 커널에서 제거되었습니다.

관련된 경우 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~

관련 정보