xkb를 사용하여 '레벨 3' 수정자를 여러 개 갖는 방법

xkb를 사용하여 '레벨 3' 수정자를 여러 개 갖는 방법

를 사용하여 키보드 레이아웃을 개선하려고 하는데 xkb기본 4레벨(또는 2레벨이라고 해야 할까요?)을 사용하면 아주 잘 작동했습니다. 용어를 잘 모르겠습니다.

그리고 괄호를 열 때 xkb의 문서가 매우 빈약하다는 것을 알았습니다(또는 검색 방법을 모르겠습니다). 일부는 레벨에 대해 말하고, 일부는 그룹에 대해 말하고, 일부는 레벨을 Shift가 첫 번째로, AltGr을 두 번째로 정의합니다. 다른 사람들은 기본 문자를 첫 번째로 간주한 다음 각 조합을 증가시킵니다. 모순이 많다는 뜻..)

M어쨌든, 일부 키보드의 키와 기본 4가지 "조합"은 다음과 같습니다 .

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

다른 수정자를 혼합에 추가하는 것이 가능합니까?

예를 들어 하나의 추가 수정자를 사용하면 R CtrlI는 6개의 조합을 가질 수 있습니다.

// 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 , ; µ

다른 캐릭터나 동작도 매핑하고 싶습니다.(화살표, 홈/끝, 페이지 위로/아래로)사용되지 않은 다른 수정자(capslock, numlock) 포함

어떻게 해야 합니까?

매우 감사합니다.

답변1

group여기에서 "두 개의 키 입력" 목표를 달성하는 데 사용할 수 있습니다 .

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

type TWO_LEVEL_BIS이제 원하는 수정자를 사용하기 위한 를 정의해야 합니다 .

Mode_switch실제 그룹을 증가시키는 키 보다 알 가치가 있으므로 해당 정의를 살펴보십시오.

관련 정보