xmodmap
便利な多言語発音区別記号、英語の引用符、ダッシュなどを含むカスタムファイルを使用しています。このマップを使用したいので、ここで設定を作成する必要がありますkmscon
。xkb
これを行う自動化された方法はありますか?それともこれを頻繁に行う必要がないので、簡単な手動プロセスを実行する必要がありますか?
答え1
独自のxkb構成ファイルを作成する
アイデアは、現在のキーボード構成を(呼び出すことなくxmodmap
)「読み込み」に基づいて独自のシンボルファイルを作成することです。最初:
xkbcomp -xkb $DISPLAY
server-0_0.xkb
このファイルから次のブロックを生成します。
xkb_symbols "pc+inet(evdev)+compose(menu)+whatever(option)" {
key <ESC> { [ Escape ] };
...
};
最初の行を次に変更します。
default xkb_symbols "my_symbols" {
include "pc+inet(evdev)"
include "compose(menu)+whatever(option)"
(私の考えでは、オプションを「含む」行数に関係なく分割できると思います)。変更したいキーを変更し、前に次を追加しますoverride
。
override key <AE10> { [ 0, parenright, degree ]};
変更されていないすべてのキーを削除します。
システム全体のインストール
すべて入れてください/usr/share/X11/xkb/symbols/my_terrific_kb
。これで、ユーザーはsetxkbmap my_terrific_kb
(in.xinitrc
または.xsessionrc
)を使用してロードできます。たぶん、Option "XkbLayout" "my_terrific_kb"
システムxorg.conf
全体を変更することができます。
シングルユーザーインストール
すべて入れてください~/anywhere/my_terrific_kb
。 XInput IDを使ってキーボードを見つけますxinput list
。それからxkbcomp -i <XInput_id> ~/anywhere/my_terrific_kb $DISPLAY
。
答え2
生成されたマッピングファイルは、xkbcomp :0 custom-xkb-keymap
パラメータを交換してロードできる複数のコンポーネントで構成されていますxkbcomp custom-xkb-keymap :0
。ここにいくつかの警告が表示されますが、ファイルのレイアウトを変更すると機能するようです。
xkbレイアウトは、symbols
例えばディレクトリに保存されます/usr/local/share/X11/xkb/symbols
。パスはシステムによって異なる場合があります。レイアウトが必要な場合は、次のセクションを切り取る必要があります。
xkb_symbols "id+id+id(pc104)" {
name[group1]="..."
.
.
.
};
symbols
そしてディレクトリに保存します。そこにファイルを上書きしないでください!その場所に保存されたら(たとえば、mylayout
)を入力してロードできますsetxkbmap mylayout
。これはセクションの設定に対応しますxorg.conf
(参照:Option "XkbLayout" "mylayout"
InputDevice
kbd マニュアルページ詳細は)。
出力の他の部分は、xkcomp
他のディレクトリのファイルと一致するようです。したがって、機能しない場合は、コンポーネントcustom-xkb-keymap
をコンポーネントに分割して以下の正しいディレクトリにコピーする必要があります/usr/local/share/X11/xkb
。しかし、これは私が一度もやったことがないことだ。
より良いレイアウト
デコンパイルされたコードのように見える生のダンプを使用する代わりに、symbols
より読みやすい独自のファイルを作成することもできます。私はほとんどの人にとってはうまくいかない独自のカスタムレイアウトを持っていますが、この短いファイルを見続けることができます。私はドイツ語のキーボードでプログラムするために使用します。(ファイルの外観とファイルsymbols
で何ができるかについてのアイデアを得るために)。
答え3
私はこの問題を解決しました。xmodmap
設定を適用したら、doを使用して現在のキーマップ(ディスプレイから)を名前付きファイルにxkbcomp :0 custom-xkb-keymap
コピーします。xkb
:0
custom-xkb-keymap
答え4
このスレッドにも同様の質問があります。Xepyr:キーマップが正しく機能しません。 提供されたソリューションと同様に、キーボード設定を保存できます
setxkbmap -display :0 -print > mykeymap
このファイルはxkbcompを介して他のシステムに適用できます。
xkbcomp mykeymap :0
このコマンドは、gnomeまたは他のDEの自動起動で実行できます。すべての手動変更が引き継がれるかどうかはわかりませんが、試してみる価値があると思います。 xkbcompを使用せずに自動ロードするには、このファイルをどこに置くべきかわかりません。