XFCE에서 Level3_Shift를 Caps Lock으로 설정하고 Compose를 Caps Lock+Ctrl로 설정하는 방법은 무엇입니까?

XFCE에서 Level3_Shift를 Caps Lock으로 설정하고 Compose를 Caps Lock+Ctrl로 설정하는 방법은 무엇입니까?

저는 최근 KDE를 기본 데스크탑 환경으로 사용하는 SUSE에서 전환했습니다. KDE에서는 GUI 옵션을 사용하여 이러한 설정을 보관할 수 있지만 XFCE에서는 보관할 수 없습니다.

~/.Xmodmap다음과 같은 방법으로 파일을 설정해 보았습니다 .

clear Lock
clear Control
clear Mod2 
clear Mod5 
keycode  77 = Caps_Lock Num_Lock Caps_Lock Num_Lock
keycode  66 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
keycode  37 = Control_L NoSymbol Control_L NoSymbol Multi_key Multi_key 
add Control = Control_L Control_R
add Lock = Caps_Lock
add Mod2 = Num_Lock
add Mod5 = ISO_Level3_Shift

무슨 일이야:

  • Caps Lock기능은 다음과 같습니다Num Lock
  • Num LockShift기능은 + 로 이동합니다 .Num Lock

일어날 것으로 예상했지만 일어나지 않은 일:

  • Caps Lock버튼은 다음과 같아야 합니다 ISO_Level3_Shift. (에 따르면 그렇다고 하지만 어쩐지 xev평소와 같은 기능을 갖고 있습니다 .)Shift
  • Caps Lock+ 왼쪽을 누르면 Ctrl작성 키 역할을 해야 합니다(작동하지 않음).

내가 도대체 ​​뭘 잘못하고있는 겁니까? Xubuntu 18.04, 새로 설치

답변1

세 번째 수준 Shift를 <CAPS>(Caps Lock)에 매핑하고 왼쪽 컨트롤의 세 번째 수준을 작성 키( Multi_key)로 사용합니다.

setxkbmap -option compose:lctrl-altgr \
    -option lv3:caps_switch \
    -layout "us(intl)"

numlock 키의 경우 사용 중인 레이아웃에 관계없이 기호 파일을 래퍼로 만들 수 있습니다(저는 를 사용하겠습니다 us(intl)). 다음 이름의 기호 파일을 만듭니다 custom.

xkb_symbols "basic" {

    // The layout that you want to use.
    include "us(intl)"

    key <NMLK> { [
        Caps_Lock, Num_Lock, Caps_Lock, Num_Lock
    ] };

};

custom의 구조를 반영하는 디렉토리 트리에 파일을 저장합니다 /usr/share/X11/xkb. 따라서 디렉터리가 에 저장되어 있으면 /home/<user>/my-xkb/파일 custom은 에 있어야 합니다 /home/<user>/my-xkb/symbols/custom.

(보다여기사용자 정의 Xkb 파일을 만들고 사용하는 방법에 대한 일반적인 지침을 참조하세요.)

그냥 사용하는 대신 setxkbmap출력 -printxkbcomp. 사용자 정의 Xkb 디렉토리 트리에 대한 경로를 제공하는 데 사용할 옵션이 xkbcomp있습니다 .-I

setxkbmap -option compose:lctrl-altgr \
    -option lv3:caps_switch \
    -layout "custom" \
    -print |
        xkbcomp -I"/home/<user>/my-xkb" \
            - "$DISPLAY"

관련 정보