저는 Elementary OS를 가지고 있는데 현재 사용자 정의 키보드 레이아웃을 추가해야 한다면 문제가 발생할 것입니다.배전반 플러그 키패드하드코딩된 레이아웃을 사용 data/layouts.txt
하고 새 레이아웃을 검색하지 않으므로 /usr/share/X11/xkb/rules/evdev.xml
사용자 정의 키보드 레이아웃이 UI에 표시되지 않기 때문에 UI를 통해 추가할 수 없습니다.
파일 형식이 간단하고 이해하기 쉽기 때문에 레이아웃을 수동으로 레이아웃.txt에 추가합니다.
데이터/layout.txt(마지막 줄에 추가했습니다)
#Czech:cz
Czech (UCW layout, accented letters only):ucw
Czech (US Dvorak with CZ UCW support):dvorak-ucw
Czech (qwerty):qwerty
Czech (qwerty, extended Backslash):qwerty_bksl
Czech (with <\|> key):bksl
Czech (programming):kblayout
이제 UI를 통해 레이아웃을 추가할 수 있습니다.하지만 활성화 후에는 작동하지 않습니다.
이게 뭐야? gsettings get org.gnome.desktop.input-sources sources
나를 돌려줘:
[('xkb', 'cz'), ('xkb', 'us'), ('xkb', 'cz+kblayout')]
일부/usr/share/X11/xkb/rules/evdev.xml아래에서는 올바르게 구성되어야 하지만 사용자 정의 키맵이 작동하지 않는 것을 볼 수 있습니다.
<layout>
<configItem>
<name>cz</name>
<shortDescription>cs</shortDescription>
<description>Czech</description>
<languageList>
<iso639Id>cze</iso639Id>
</languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>bksl</name>
<description>Czech (with <\|> key)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>qwerty</name>
<description>Czech (qwerty)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>qwerty_bksl</name>
<description>Czech (qwerty, extended Backslash)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>ucw</name>
<description>Czech (UCW layout, accented letters only)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>dvorak-ucw</name>
<description>Czech (US Dvorak with CZ UCW support)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>kblayout</name>
<description>Czech (programming)</description>
</configItem>
</variant>
</variantList>
</layout>
흥미롭게도 이것을 사용하면 setxkbmap kblayout
UI를 통해 klayout을 활성화하더라도 작동합니다.키보드 레이아웃 다이어그램키맵이 올바르게 설정된 것을 보니 특정 키를 누르면 잘못된 문자가 표시됩니다.