@ダニエルの答えは私に正しい方法を示したが、私はそれを拡張したいと思います。
Linux Mint 17.2およびUbuntu 16.04で動作します。
使用し続けると考えられるすべての工夫を試しましxmodmap
たが、システムがスリープモードになるとすべて失敗します。同じsetxkbmap
ことは、* settings-daemon(私にとってはxfce4)がスクリプトよりも遅く実行される場合に使用する起動アプリケーションスクリプトにも当てはまります。順序は実際には影響を受けません。
私がついに思いついたものには、次の成分があります。
1)の最小限のキーボードマッピングファイルを作成します/usr/share/X11/xkb/symbols
。ファイルを呼び出しましょmylayout
う
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
basic
は単なる名前です。後でまた会いましょう。
name[Group1]
同様にそれはそう名前だけですが、それは後に何の役割も果たしていないでしょう。
include "us"
プレーンusキーボードが含まれています。実際にus
は、同じディレクトリに別のファイルがあります。これが私たちが適応しているキーボードのレイアウトです。必要に応じて別のものを選択してください。注:この行を終了するセミコロンはありません。
- この
key
ラインはキーボードの1つの適応であり、さらに多くのことが続きます。<AE03>
下のファイルで見つけることができます/usr/share/X11/xkb/keycodes
。xev
プログラムを使用して、「3」キーのキーコードが12であり、キーコードファイルXfree86
でマップされていることを確認し<AE03>
ます。
- 最後に
include
、別のキーボードオプションをアクティブにする別のディレクティブを使用します。この場合、レベル3シフトキー、つまりsterling
上記で定義した記号へのアクセスを許可するキーを右Altキーにしたいです。level3
同じフォルダ内のralt_switch
1つのセクションを持つ単なるファイル名です。周りを見て、含める必要があるものを選択します。
2)私はシステムフォルダに入れませんでしたmylayout
。むしろ、システムフォルダから自分の好みのフォルダへのソフトリンクのみを作成し、すぐにこれがストックソフトウェアではないことを確認しました。
3)さらに、更新の手間を防ぐために、再び修正しませんevdev.xml
でした。しかし、これはキーボード構成エディターでmylayoutを見つけるために必要です(xfce4の場合xfce4-keyboard-settings
)。代わりに私が使用xfce4-settings-editor
して変更keyboard-layout->XkbLayout
するmylayout
(ファイル名)とXkbVariant
するbasic
(上記参照します)。その後、mylayout/basic
キーボード設定エディターにも表示されます。のエントリはevdev.xml
、レイアウトを選択できるようにするためにのみ必要なようです。
このようにして、キーボード設定はスリープモードとリブートを切り抜けます。
詳細な背景については、http://www.charvolant.org/~doug/xkb/html/node5.htmlを参照してください。
スリープモードの問題を修正する別の方法(自分で試していない)は、https://www.vinc17.net/unix/xkb.en.htmlで見つけることができます。
更新:上記のようにxfce4-settings-editorの設定を変更したのと同じ瞬間にMint 18.3で動作しました。
更新:18.04では、gdm3がディスプレイマネージャーとして、XFCE4がウィンドウマネージャーとして、〜/ .Xmodmapが再び読み込まれ、設定が一時停止しても生き残るように見えます。(私はめったにサスペンドを使用せず、ラップトップがどのモードになっているのか本当にわかりません。)