xkb를 사용하여 여러 "레벨 3" 수정자를 얻는 방법

xkb를 사용하여 여러 "레벨 3" 수정자를 얻는 방법

기본 4레벨을 사용하여 키보드 레이아웃을 개선 하려고 합니다 xkb(또는 2레벨이라고 해야 할까요? 이 용어를 잘 모릅니다).

괄호를 열면 xkb에 레코드가 거의 없다는 것을 알 수 있습니다(또는 검색 방법을 모르겠습니다).. 어떤 사람들은 레벨에 대해 이야기하고, 어떤 그룹은 레벨을 Shift가 첫 번째로 정의하고 AltGr이 두 번째로 정의합니다. 그런 다음 기본 문자가 먼저 고려된 다음 각 조합에 대해 증가됩니다. 모순이 많다는 뜻..)

M어쨌든 이것은 일부 키보드의 기본 4개 키 "조합"입니다.

// Pressing   <M> <Shift+M> <AltGr+M> <Shift+AltGr+M>
key <AB07> { [ m ,    M    ,    mu   ,      mu       ] }; // m M µ µ

다른 수정자를 추가할 수 있나요?

예를 들어 I와 같은 추가 수정자를 사용하면 R Ctrl6가지 조합이 있습니다.

// Pressing   <M> <Shift+M> <AltGr+M> <AltGr+Shift+M> <RCtrl+M> <RCtrl+Shift+M>
key <AB07> { [ m ,    M    ,    mu   ,    mu         , comma  , semicolon] };// m M µ µ , ;

또는 세 가지 수정자를 모두 포함하는 8개의 조합도 있습니다.
실제로 일부 파일에는 symbol키워드가 포함된 레벨 8 매핑이 이미 존재하는 것 같습니다.EIGHT_LEVEL

하지만 저는 키에 42개의 조합이 있는 것을 원하지 않습니다.

대신에 나는 단지 어색한 손가락 조합을 피하고 싶고, 이를 위해 다음과 같이 "직접 접근"이 가능한 제한된 조합만을 선호합니다:

// Pressing   <M> <Shift+M> <AltGr+M>  <RCtrl+M>  <RWin>+M
key <AB07> { [ m ,    M    ,  comma  , semicolon ,    µ   ] }; // m M , ; µ

다른 캐릭터나 액션까지 매핑하고 싶습니다.(화살표, 시작/끝, 페이지 위로/아래로)사용되지 않은 다른 수식어(Caps Lock, 숫자 잠금)

어떻게 해야 하나요?

매우 감사합니다.

답변1

이를 사용하여 group"2개의 키 입력" 목표를 달성할 수 있습니다.

key <AB07> { 
type[group1]= "FOUR_LEVEL",
type[group2]= "TWO_LEVEL_BIS",
symbols[group1]= [ m ,    M    ,  comma  , NoSymbol],
symbols[group2]= [ semicolon ,    µ ] 
};

type TWO_LEVEL_BIS이제 필수 수정자를 사용하여 for를 정의 해야 합니다 .

Mode_switch실제 그룹을 추가하는 키를 아는 것은 가치가 있으므로 해당 정의를 확인하세요.

관련 정보