현재 XKB 구성의 키맵 소스(.xkb 형식)는 를 실행하여 얻을 수 있습니다 xkbcomp $DISPLAY -
. 주요 기호에 대한 매핑은 xkb_symbols
이 파일의 섹션에서 수행됩니다. 이 섹션의 일부 정의는 각 레벨을 색인화 type
하는 수정자를 나타내는 키를 명시적으로 정의합니다.keysym
key <AD01> {type= "ALPHABETIC", [q, Q]};
다른 줄은 해당 유형을 지정하지 않습니다. 예를 들면 다음과 같습니다.
key <AE01> {[1, exclam]};
이 경우 파일의 이 섹션에 여러 개의 2단계 유형 xkb_types
(TWO_LEVEL, ALPHABETIC, KEYPAD, SHIFT+ALT, PC_SUPER_LEVEL2 등)이 정의되어 있으므로 유형이 모호합니다. 따라서 주어진 수준 수에 대해 암시적(또는 기본) 유형이 있어야 합니다(예: 유형이 지정되지 않았지만 두 수준이 있는 경우 암시적 2수준 유형). 이러한 암시적 유형은 어디에 정의되어 있나요? xkb_types
필요한 레벨 수와 함께 나타나는 첫 번째 유형입니까 ?
답변1
기본값은 다음과 같습니다.X 키보드 확장: 프로토콜 사양섹션 12.2.3(41-42페이지) 및 부록 B의 X11R6.4의 경우. 특히 ONE_LEVEL, TWO_LEVEL, ALPHABETIC 및 KEYPAD는 표준 유형으로 간주되며 영숫자 확장 후 다음 기준에 따라 선택됩니다.
명시적인 유형 정의가 없는 각 키보드 그룹에 대해 XKB는 표준 키 유형에서 키 유형을 선택합니다. 그룹에 할당된 두 번째 기호가 NoSymbol(알파벳 확장 후)인 경우 서버는 키 유형 ONE_LEVEL을 할당합니다. 그룹에 단일 문자 모양의 소문자 및 대문자 형식이 포함된 경우(영숫자 확장 후) 서버는 키 유형 ALPHABETIC을 할당합니다. 그룹의 기호가 숫자 키패드 기호(KP_*)인 경우 서버는 키 유형 KEYPAD를 할당합니다. 그렇지 않으면 키 유형 TWO_LEVEL을 할당합니다.
프로토콜은 두 개 이상의 수준을 가진 그룹에 대한 사양 유형을 지정하지 않습니다.