私は2つのキーボードを持っています:古いps/2のものとusbのものです。 USBキーボードにUSBレイアウト(または、USBキーボードをgnomeで選択したレイアウトに従わせることが望ましい)にし、ps/2キーボードにカスタムレイアウト(ショートカットなど:D)を持たせたいです。実行時にsetxkbmap -device 8 -layout ru
(テストするロシア語のレイアウト)を使用して各キーボードに個別のレイアウトを設定しようとしましたが、これによりすべてのキーボードのレイアウトがロシア語に設定されます。
philippe@tnw:~$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ MOSART Semi. Wireless Keyboard & Mouse id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ MOSART Semi. Wireless Keyboard & Mouse id=8 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
編集:答えの一部が見つかりました:デバイスのレイアウトを指定するときは、すべてのハードウェアに必要なすべてのレイアウトを含める必要があります。したがって、デバイス2でロシア語、3で米国英語が必要な場合は、デバイス2のレイアウトを指定するときに「ru、us」を使用し、デバイス3のレイアウトを指定する必要があります。
setxkbmap -device 2 -layout ru,us
setxkbmap -device 3 -layout us,ru
起動時にこれを取得して、カスタムレイアウトを作成する必要があります。それを手伝っていただければ幸いです。
あなたは使用する必要があります
xinput --create-master SecondKeyboard
別のマスターキーボードを作成してから、2番目のキーボードを新しいマスターに再接続します。
xinput --reattach "キーボードID" "マスターID"
からのIDを使用します
xinput --list
このように、キーボードは分離されており、排他的に扱うことができます。例えば。 2つのフォーカスがあり、2つのキーボードを使用して2つのアプリケーションで同時に書き込み、setxkbmapなどで異なるマスターIDを指定することにより、異なるキーマッピングを設定できます。