.png)
xmodmap でキーボードを再マッピングした後、いくつかの問題が発生しました。適用後 2 ~ 20 分後に設定がランダムにリセットされます。Google で検索しましたが、役に立ちませんでした。何かがリセットしますが、言及されているものはすべて xfce に適用されますが、私は通常の 14.04 Ubuntu と unity を使用しています。
「xkb を使用し、xmodmap は忘れてください」のようなフレーズを見ましたが、まだそれをどうすればよいのかわかりません。それに関する情報の量は xmodmap の方法よりも大幅に少ないため、機密事項であるか、非常に複雑です。
カスタマイズのリストは次のとおりです。
xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"
ここで、キーコードは、numlock がオフの状態で、テンキーの対応するキーです (基本的に、KP_Del を Delete に、KP_Home を Home などに置き換えています。理由は聞かないでください))
誰か、xkb を使用して、少なくとも 1 行を実行する方法を見つけるのを手伝ってくれませんか? また、他のキーの「名前」はどこで見つければ、残りの部分を例で実行できますか?
答え1
一般的な考え方は、同様の問題に対する私の回答; レイアウトの切り替えが必要な場合(ただしまだかなり壊れている) あなたがすべき新しいレイアウトまたはバリアントを定義する。
キーパッドを編集するためにコピーして変更するテンプレートが少し見つけにくいことに注意してください。たとえば、私のキーボードでは、ジオメトリは「pc105」です/usr/share/X11/xkb/symbols/pc
。これはで定義されています。調べてみると、含む:
[...]
key <SPCE> { [ space ] };
include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"
key <BKSP> { [ BackSpace, BackSpace ] };
[...]
キーパッドはファイルで定義されます/usr/share/X11/xkb/symbols/keypad
[...]
default partial hidden keypad_keys
xkb_symbols "x11" {
include "keypad(operators)"
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
[...]
キー シンボル (keysims) の名前については、ファイル を調べるのが最適です/usr/include/X11/keysymdef.h
。このファイルを入手するには、開発パッケージをインストールしておく必要があります (または をインストールしてインストールしますx11proto-core-dev
)。
[...]
/* Cursor control & motion */
#define XK_Home 0xff50
#define XK_Left 0xff51 /* Move left, left arrow */
#define XK_Up 0xff52 /* Move up, up arrow */
[...]
キーシム名は、「XK_」文字列を削除したものになります。