内蔵キーボードはポルトガル語で、USBキーボードは英語(国際)になるようにラップトップを設定しようとしました。私はいくつかの研究でxorgサーバーの起動後にUSBキーボードを接続することで完璧に動作するソリューションを考えました。この場合、両方のキーボードには独自のレイアウトがあります。ただし、USB キーボードが接続された状態で xorg サーバーを起動すると、両方のキーボードに英語のレイアウトが表示されます。
今私の/etc/X11/xorg.conf.d/30-keyboard.conf
状況は次のとおりです。
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
MatchProduct "AT Translated Set 2 keyboard"
Driver "evdev"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection
Section "InputClass"
Identifier "usb-keyboard"
MatchIsKeyboard "on"
MatchProduct "Evision RGB Keyboard"
Driver "evdev"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
Option "XkbVariant" "altgr-intl"
EndSection
xorgサーバーを起動してUSBキーボードを接続すると、正しく機能する理由を本当に理解していません。ただし、USBキーボードがすでに接続されている状態でxorgサーバーを起動すると機能しません。
30-system-keyboard.conf
構成を2つの別々のファイルに分割し、1つが40-usb-keyboard.conf
別のファイルをロードしようとしましたが、結果は同じです。
すべてのケースで動作するように誰かがこの問題を解決するのに役立ちますか?
レイアウトを設定すると、setxkbmap -device ID
IDが変更され、機能しません。
答え1
同様の要件があり、udev
次の規則を使用して問題を解決できました/etc/udev/rules.d/70-keyboard.rules
。
ACTION!="add|change", GOTO="keyboard_end"
SUBSYSTEM!="input", GOTO="keyboard_end"
KERNEL!="event*", GOTO="keyboard_end"
ENV{ID_INPUT_KEY}=="?*", DRIVERS=="usb", ATTRS{idVendor}=="413c", ATTRS{idProduct}=="2003", ENV{XKBMODEL}="pc105", ENV{XKBLAYOUT}="fr", ENV{XKBVARIANT}="oss", ENV{XKBOPTIONS}="nbsp:level3n,lv3:ralt_switch,compose:menu,terminate:ctrl_alt_bksp"
LABEL="keyboard_end"
Xが起動する前にキーボードを接続すると正常に動作します。
メインラインをコピーし、値をキーボードの値に置き換え、パラメータを使用するマッピングに一致する値に置き換える必要がありますidVendor
。idProduct
XKBMODEL
XKBLAYOUT
XKBVARIANT
XKBOPTIONS