저는 KDE와 함께 Fedora 30을 사용하고 있으며 사용 편의성을 위해 (Zsh)를 + autosuggest-execute
에 바인딩하려고 합니다. 나는 그것을 작동 시키려고 노력하고 있습니다 .CtrlEntergnome-terminal
그러나 나는 , + 및 + 세 가지 경우에 항상 반환된다는 것을 발견했습니다 showkey -a
.^M
EnterCtrlEnterShiftEnter
나는 이것을 시도했다방법( Ctrl <Return> : "\033M"
in .XCompose
) 인데 XCompose 파일을 읽지 않아서 전혀 동작하지 않습니다. 그래서 ibus
그대로 설치하기 로 결정내 KDE 설치에는 다음이 포함되어 있지 않습니다.그리고 dnf groupinstall input-methods
.
지금 실행하면 ìbus-setup
다음 경고가 표시됩니다.
GTK+ supports to output one char only: "\033M": ! Ctrl <Return> : "\033M"
^M
불행하게도 모든 입력 조합은 여전히 in gnome-terminal
으로 귀결됩니다 xterm
.
ibus 유무에 관계없이 이러한 키 조합을 구별할 수 있는 방법이 있습니까?
답변1
ibus 등을 설치할 필요가 없습니다. 모든 X11 애플리케이션은 정확한 키 코드에 액세스할 수 있습니다.그리고xkb/xim 번역으로, 그리고 아마도소홀히 하다후자의.
문제는 터미널 에뮬레이터에 있으며 Ctrl-Enter와 같이 터미널에서 키 조합을 나타내는 표준 방법이 없다는 사실입니다. 또한 각 터미널 에뮬레이터에는 자체 키 바인딩 구성 방법이 있거나 없습니다.
에서는 xterm
다른 xt 기반 응용 프로그램과 마찬가지로 X11 리소스를 사용하여 쉽게 구성할 수 있습니다. 예를 들어, 다음은 Ctrl-Enter를 F33
기능 키에 해당하는 이스케이프 문자로 변환합니다(에 따라 infocmp
).
xterm -xrm '*VT100*translations: #override Ctrl<Key>Return:string("\033[20;5~")'
\e[20;5~
그런 다음 readline ~/.inputrc
, with bind
in bash
, with bindkey
in 등에서 zsh
원하는 작업 에 바인딩할 수 있습니다 .
X11 리소스는 루트 창의 속성으로 저장되며 유틸리티를 사용하여 루트 창에 로드 RESOURCE_MANAGER
할 수 있습니다 . 일반적으로 이는 파일 내용을 로드하기 위해 x11 세션 초기화 스크립트에서 호출됩니다 .xrdb
xrdb
~/.Xresources
KDE나 Gnome 응용 프로그램에는 키 조합의 작동을 구성하는 고유한 방법이 konsole
있습니다 gnome-terminal
. 여기에 의사 tty 마스터에 임의의 문자열을 쓰는 기능이 포함되어 있는지는 모르겠습니다.
답변2
설정 방법은 다음과 같습니다 konsole
.
또한보십시오Konsole의 키 바인딩에 대한 Kde 참조.
설정->현재 프로필 편집->키보드->(사용할 키보드 레이아웃 선택)->편집->검색/필터 Return
.
다음 항목을 편집합니다(왼쪽 열만).
Return-Shift-NewLine
로 변경Return-Shift-Ctrl-NewLine
Return-Shift+NewLine
로 변경Return-Shift-Ctrl+NewLine
이를 통해 Enter
및 Ctrl
+ 를 구별할 수 있습니다 Enter
.
다음 항목을 추가합니다.
Return+Ctrl
->\E[20;5~
이제 bindkey '\e[20;5~' autosuggest-execute
다른 수신기를 추가하기만 하면 됩니다 ~/.zshrc
.