XKB 투명도 매핑 수정자 수준

XKB 투명도 매핑 수정자 수준

첫 번째와 두 번째 수준에서 사용하는 레이아웃은 QWERTY가 아닙니다.

    key <AC06> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               m,               M,        Left,        Home ]
    };
    key <AB01> {
        type= "ALPHABETIC",
        symbols[Group1]= [               x,               X ]
    };

레이아웃을 다시 QWERTY 키로 변경하려면 Ctrl(왼쪽 Ctrl 또는 왼쪽 Ctrl)이 포함된 키 조합을 원합니다.

Ctrl+<AB01>따라서 내가 원하는 것을 입력하면 Ctrl+z, 내가 ctrl+shift+<AB01>원하는 것을 입력하면 됩니다 Ctrl+shift+z. Ctrl+<AC06>= Ctrl+h잠깐

xkb가 이런 일을 할 수 있나요?

답변1

두 가지 중요한 폴더가 있습니다:

  • /usr/share/X11/xkb/symbols이는 대부분의 배포판에서 Qwerty가 아닌 레이아웃의 위치입니다.
  • /usr/share/X11/xkb/types수정자(예: Ctrl또는 Shift) 동작에 사용됩니다.

Ctrl4개의 공식 레벨이 있으며 , ShiftLock(일명) 과 호환됩니다 CapsLock.
이 코드를 다음 위치에 추가했습니다 /usr/share/X11/xkb/types/level5.

type "QWERTY_CONTROL" {
    modifiers = Shift+Control+Lock;
    map[None] = Level1;
    map[Shift] = Level2;
    map[Control] = Level3;
    map[Shift+Control] = Level4;
    preserve[Control] = Control;
    preserve[Shift+Control] = Control;
    map[Lock] = Level2;
    map[Lock+Shift] = Level1;
    map[Lock+Control] = Level4;
    map[Lock+Shift+Control] = Level3;
    preserve[Lock+Control] = Control;
    preserve[Lock+Shift+Control] = Shift+Control;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
};

2번째 줄 뒤에 추가했습니다 partial default xkb_types "default" {. 이제 대신
유형 이름을 사용해야 합니다 .QWERTY_CONTROLFOUR_LEVEL_ALPHABETIC

키보드 레이아웃에 대한 코드입니다. 내 항목을 다음에 추가했습니다 /usr/share/X11/xkb/symbols/oo.

partial alphanumeric_keys
xkb_symbols "half_qwerty" {
    augment "level5"
        name[Group1]="french ergodox compat";

    key.type[Group1] = "QWERTY_CONTROL";

    key <LatA> {[egrave, Egrave, a,A]};
    key <LatS> {[eacute, Eacute, s,S]};
    key <LatD> {[p, P, d,D]};
    key <LatF> {[apostrophe, degree, f,F]};

};

그런 다음 실행하여 setxkbmap oo -variant half_qwerty시도해 보세요. ( ), ( ) 및 가 가운데 행에
있어야 합니다 . 함께 사용하면 여전히 , , 입니다.èegraveéeacutep'
Ctrlasdf

참고: 여러 소프트웨어에서 테스트했습니다.

  • MPV, Dolphin, Gedit, LibreOffice, Firefox, ST+ZSH, ST+NeoVim 및 Rofi와 함께 작동합니다.
  • Chromium에서는 잘 작동하지 않습니다.

관련 정보