XKB는 교대 수준에 대해 다음 구성표를 사용합니다( /usr/share/X11/xkb/
다양한 문서에서 볼 수 있음).
- level_name[레벨1] = "기본";
- level_name[레벨2] = "교대";
- level_name[레벨3] = "대체 기지";
- level_name[레벨4] = "Shift Alt";
- level_name[레벨5] = "X";
- level_name[레벨6] = "X 번역";
- level_name[Level7] = "X Alt 기본 사항";
- level_name[Level8] = "X Shift Alt";
이는 1 기반 숫자입니다(이 특정 목록은 사용자 정의됨 /usr/share/X11/xkb/types/level5
). 그러나 0부터 시작하는 번호 매기기가 더 의미가 있는 것 같습니다. 예를 들면 다음과 같습니다.
- level_name[레벨0] = "기본";
- level_name[레벨1] = "교대";
- level_name[레벨2] = "대체 기지";
- level_name[레벨3] = "Shift Alt"(예: 1+2)
- level_name[레벨4] = "X";
- level_name[레벨5] = "X 번역" (1 + 4)
- level_name[레벨6] = "X Alt 기본"; (2 + 4)
- level_name[레벨7] = "X Shift Alt" (1 + 2 + 4)
즉, 비트 필드와 같습니다. 대신 1부터 시작하는 번호 매기기를 사용합니다. 선택의 이유는 무엇입니까? 0부터 시작하는 번호 매기기는 Linux 세계에서 일반적인 것으로 보이며, 이 특별한 경우에는 합리적이고 직관적입니다.