사용자 정의 setxkbmap 옵션 추가

사용자 정의 setxkbmap 옵션 추가

setxkbmap을 사용하여 왼쪽 Shift와 왼쪽 Control을 교체합니다.일부 수정자 키를 xkbcomp와 교체하는 방법을 설명합니다. 그러나 전체 레이아웃 정의와 함께 xkbcomp를 사용하는 대신 사용자 정의 setxkbmap 옵션을 추가하고 싶습니다. 와 유사하게 setxkbmap -option local:swap_lwin_lctrl/usr/share/X11/xkb(패키지 업그레이드 시 덮어쓰게 됨)의 기존 파일을 수정하지 않고 오른쪽 win 및 오른쪽 제어를 바꾸고 싶습니다.

답변1

나는 같은 문제가 있습니다. 문서에서 올바른 구문은 다음과 같을 것이라고 추측할 수 있습니다.

$ setxkbmap -I$HOME/.config/xkb -option mine:accent

참고: 옵션 ~과 함께 작동하지 않습니다-I

~와 함께

~/.config/xkb/symbols/azerty_altgr

partial default
xkb_symbols "accent" {
    include "level3(ralt_switch)"
    key <AE02>  { [  NoSymbol, NoSymbol, eacute,      NoSymbol ] };
    key <AE07>  { [  NoSymbol, NoSymbol, egrave,      NoSymbol ] };
    key <AE09>  { [  NoSymbol, NoSymbol, asciicircum, NoSymbol ] };
    key <AE10>  { [  NoSymbol, NoSymbol, agrave,      NoSymbol ] };
};

또는 당신이 가지고 있는 어떤 심볼 파일이든

~/.config/xkb/rules/evdev

! option        =   symbols
  mine:accent   =   +azerty_altgr(accent)

불행히도 작동하지 않습니다.


내가 찾은 유일한 해결책은 다음과 같습니다. 위에서 설명한 것과 동일한 파일을 사용하십시오. 를 사용하여 모든 기본 옵션을 설정하십시오 setxkbmap -option caps:swapescape,whatever. 그 다음에 :

$ setxkbmap -print > tempfile.txt

tempfile.txt줄 에 사용자 정의 옵션을 추가하려면 편집하십시오 xkb_symbols.

xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+fr:2+inet(evdev)+capslock(swapescape)+azerty_altgr(accent)"  };
    xkb_geometry  { include "pc(pc104)" };
};

그리고 마지막으로 :

xkbcomp -I$HOME/.config/xkb tempfile.txt $DISPLAY

이는 다양한 옵션에 대해 일반화될 수 있습니다. 이 솔루션은 다음에 따라 더 이상 사용되지 않습니다.아치리눅스 위키.

관련 정보