setxkbmapを使用して左Shiftと左Controlを置き換えるxkbcompといくつかの修飾キーを交換する方法を説明します。しかし、完全なレイアウト定義でxkbcompを使用する代わりに、カスタムsetxkbmapオプションを追加したいと思います。同様にsetxkbmap -option local:swap_lwin_lctrl
、/usr/share/X11/xkb(パッケージがアップグレードされると上書きされます)の既存のファイルを変更せずに右のwinと右のコントロールを変更したいと思います。
ベストアンサー1
私も同じ問題があります。ドキュメントでは、正しい構文は次のように推測できます。
$ setxkbmap -I$HOME/.config/xkb -option mine:accent
注:~
この-I
オプションでは使用できません。
そして
~/.config/xkb/symbols/azerty_altgr
partial default
xkb_symbols "accent" {
include "level3(ralt_switch)"
key <AE02> { [ NoSymbol, NoSymbol, eacute, NoSymbol ] };
key <AE07> { [ NoSymbol, NoSymbol, egrave, NoSymbol ] };
key <AE09> { [ NoSymbol, NoSymbol, asciicircum, NoSymbol ] };
key <AE10> { [ NoSymbol, NoSymbol, agrave, NoSymbol ] };
};
またはあなたが持っているどんなシンボルファイルでも
~/.config/xkb/rules/evdev
! option = symbols
mine:accent = +azerty_altgr(accent)
残念ながら動作しません。
私が見つけた唯一の解決策は次のとおりです。上記と同じファイルを使用してください。すべてのデフォルトオプション設定を使用してくださいsetxkbmap -option caps:swapescape,whatever
。それから:
$ setxkbmap -print > tempfile.txt
tempfile.txt
行にカスタムオプションを追加するように編集しますxkb_symbols
。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+fr:2+inet(evdev)+capslock(swapescape)+azerty_altgr(accent)" };
xkb_geometry { include "pc(pc104)" };
};
ついに:
xkbcomp -I$HOME/.config/xkb tempfile.txt $DISPLAY
これはさまざまなオプションで一般化できます。このソリューションは、次のように廃止されました。アーチLinuxウィキ。