백스페이스 키를 대문자로 만드는 setxkbmap
등 몇 가지 옵션이 있는 것 같습니다 . -option caps:backspace
하지만 백스페이스 키를 Esc 키로 만드는 옵션을 찾을 수 없는 것 같습니다. 백스페이스 키를 Esc 키로 변경하는 단일 setxkbmap 명령을 어떻게 생성할 수 있습니까?
답변1
새 옵션을 정의해야 합니다. 먼저 다음 내용 등을 포함하는
새 기호 파일을 만듭니다 ./usr/share/X11/xkb/symbols/bksp
partial alphanumeric_keys
xkb_symbols "bksp_escape" {
key <BKSP> { [ Escape ] };
};
그런 다음 다음과 같이 새 옵션을 만듭니다.
bksp:bksp_escape = +bksp(bksp_escape)
(여기서 bksp
는 기호 파일의 이름이고 는 bksp_escape
이 파일에 정의된 그룹 이름입니다) 사용 중인 규칙 세트의 옵션 목록에 추가하십시오. 가정하에 아래에 evdev
넣으십시오 ./usr/share/X11/xkb/rules/evdev
! option = symbols
! option = symbols
bksp:bksp_escape = +bksp(bksp_escape)
...........
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
또한 다음을 /usr/share/X11/xkb/rules/evdev.lst
간단한 설명과 함께 아래에 추가하세요 ! option
(예: before ctrl
).
! option
........
bksp Backspace key behavior
bksp:bksp_escape Backspace as Escape
ctrl Ctrl key position
ctrl:nocaps Caps Lock as Ctrl
그런 다음 일반 사용자로 실행할 수 있습니다.
setxkbmap -layout us -option bksp:bksp_escape
옵션을 활성화하고 BKSP다음 사항을 확인할 수도 있습니다 ESC.
setxkbmap -query
보고서:
rules: evdev
model: pc104
layout: us
options: bksp:bksp_escape
그리고 만약에
setxkbmap -print
산출:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+bksp(bksp_escape)" };
xkb_geometry { include "pc(pc104)" };
};
dconf
Gnome 3에서는 (또는 터미널에서) 다음을 추가하여 옵션을 영구적으로 만들 수 있습니다 gsettings
.'bksp:bksp_escape'
org>gnome>데스크톱>입력 소스>xkb-options키( dconf
값은 쉼표 + 공백으로 구분됩니다).
마지막으로, 둘 다 향후 업그레이드에서 덮어쓰게 evdev
되므로 evdev.lst
(사용자 정의 기호 파일은 아님 ) 이를 소유한 패키지를 업그레이드할 때마다 bksp
(archlinux에서) 다시 편집해야 합니다 . xkeyboard-config
이를 수행하는 스크립트를 작성하는 것이 더 쉽습니다.
sed '/! option[[:blank:]]*=[[:blank:]]*symbols/a\
bksp:bksp_escape = +bksp(bksp_escape)
' /usr/share/X11/xkb/rules/evdev
sed '/! option/a\
bksp Backspace key behavior\
bksp:bksp_escape Backspace as Escape
' /usr/share/X11/xkb/rules/evdev.lst
결과가 만족스러우면 실제로 다음을 사용하여 파일을 편집하십시오 sed -i
(또는 -i.bak
백업 복사본을 만들고 싶다면).제자리에.