xkb 구성 파일에서 보존 키워드의 기능은 무엇입니까?

xkb 구성 파일에서 보존 키워드의 기능은 무엇입니까?

사용자 정의 xkb 키맵의 xkb_types 섹션에서 보존 키워드가 무엇을 하는지 궁금합니다.

다음은 기존 구성 파일의 예입니다.

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

나는 다음 두 줄에 관심이 있습니다.

    preserve[Lock+LevelThree]= Lock;
    preserve[Shift+Lock+LevelThree]= Lock;

불행하게도 Archwiki(매우 훌륭한 xkb 구성 가이드가 있음)나 xkb의 공식 웹사이트(일반적으로 정보가 많지 않음)에는 이에 대한 정보가 없는 것 같습니다.

답변1

XFree86은 이를 기록합니다.새로운 레이아웃을 정의하여 XKB 구성을 더욱 향상시키는 방법. 독자의 편의를 위해 관련 발췌문을 복제했습니다.

일반적으로 목록에 도입된 모든 수정자는 modifiers=<list of modifiers>교대 근무 수준 계산에 사용된 후 삭제됩니다. 때때로 이것은 바람직하지 않습니다. 교대 계산에 수정자를 사용하고 싶지만 버리고 싶지 않은 경우 에 나열할 수 있습니다 preserve[<combination of modifiers>]=<list of modifiers>. 즉, 특정 조합에 대해 나열된 모든 수정자가 보존됩니다. Lock 수정자가 유지되면 결과 기호는 교대 수준 계산에 사용되었는지 여부에 관계없이 내부 대문자 루틴으로 전달됩니다.

관련 정보