私は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を有効にしても機能します。キーボードレイアウト図キーマップが正しく設定されているため、特定のキーを押すと無効な文字が表示されます。