現在のキーボードにないキーを再マッピングしようとしましたが、Ubuntu 17.04 では動作しません。
ファイルを編集しました
/usr/share/X11/xkb/symbols/pc
私のキーボードで欠けているキーは、以下のキー LSGT (キーの右側shift)です。
key <LSGT> { [ less, greater, bar, brokenbar ] };
§そこで、下のセクションキー(数字キーの左)を上のキーに置き換えたいのです1。このキーを使ったことがないので
だから私は走る
xev -event keyboard
キー情報を取得します。しかし、使用すべきキー番号が表示されません。
KeyPress event, serial 28, synthetic NO, window 0x3400001,
root 0xdd, subw 0x0, time 18369362, (-451,244), root:(348,296),
state 0x0, keycode 49 (keysym 0xa7, section), same_screen YES,
XLookupString gives 2 bytes: (c2 a7) "§"
XmbLookupString gives 2 bytes: (c2 a7) "§"
XFilterEvent returns: False
これをテストしていたとき、テスト用のキーを持っていたので、以下のキーを使用しました
key <AD12> { [ U0328, dead_circumflex, dead_tilde, dead_caron ] };
そしてそれを変更しました。
key <AD12> { [ less, greater, bar, brokenbar ] };
そして、キャッシュをクリアするために次のコマンドを実行しました
sudo dpkg-reconfigure xkb-data
この後、サインアウトして再度サインインしました。しかし、キーは同じままで何も起こりません。
何が間違っているのでしょうか?
答え1
Gunnar のコメントのおかげで、答えを見つけることができました。
私が見た時
/etc/default/keyboard
XKBLAYOUT で現在のロケールのキーボード設定を確認します。
それで私は戻りました。
/usr/share/X11/xkb/symbols/
そして、上記の XKBLAYOUT 設定で見つかった PC とロケール ファイルの両方を変更しました。
から
key <LSGT> { [ less, greater, bar, brokenbar ] };
に
key <TLDE> { [ less, greater, bar, brokenbar ] };
やった
sudo dpkg-reconfigure xkb-data
一度消して再度入れ直したら、動作するようになりました。キーが再マップされました。(なぜ PC とロケール ファイルの両方を変更する必要があったのかはよくわかりません。PC ファイルがロケール ファイルよりも優先されると思っていました)