2つのキーボード、2つの言語レイアウト


16

2つのキーボードセットをコンピューターに接続したい。特定の言語にそれぞれを設定することは可能ですか?そのため、毎回言語を変更する必要はありません。

例えば:

  • キーボード1種類ロシア語

  • キーボード2種類英語

回答:


15

xinputおよびsetxkbmapユーティリティを使用して、ターミナルから設定して、各キーボードが異なるレイアウトを持つようにすることができます。

まず、xinput -list | grep keyコマンドを使用して、各キーボードのデバイスIDを見つける必要があります。次に例を示します(私の場合)。

$ xinput -list | grep key
 Virtual core keyboard                         id=3    [master keyboard (2)]
     Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
     Power Button                              id=6    [slave  keyboard (3)]
     Video Bus                                 id=7    [slave  keyboard (3)]
     Power Button                              id=8    [slave  keyboard (3)]
     Sleep Button                              id=9    [slave  keyboard (3)]
     2.4GHz 2way RF Receiver                   id=10   [slave  keyboard (3)]
     HP Webcam                                 id=12   [slave  keyboard (3)]
     AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
     HP WMI hotkeys                            id=15   [slave  keyboard (3)]
       USB Keyboard                            id=16   [slave  keyboard (3)]
       USB Keyboard                            id=17   [slave  keyboard (3)]

setxkbmap -device <key_ID> -layout <layout_name>次に、を使用して、各キーボードに希望するレイアウトを設定します。例(キーボード用):

setxkbmap -device 3 -layout ro    #My master keyboard is set to Romanian layout
setxkbmap -device 10 -layout us   #The keyboard with id=10 is set to English (US) layout
setxkbmap -device 16 -layout ru   #The keyboard with id=16 is set to EFor Russian layout

すごい。動作します。ありがとう。別の質問かもしれません。しかし、各キーボードのレイアウトを示すアイコンを使用して、Plasma Desktopでそれらを監視する方法はありますか?!
user126106

@MinimusHeximusこれは別の質問です。あなたの質問へのコメントに簡単な答えを出すのは難しいと思います。そのため、質問ボタンを使用してください。
ラドゥラデアヌ

ありがとう。私は尋ねるかもしれませんが、参考になるようになりました:現在、通常の言語アイコンはプラズマでは完全に無意味です。ところで、単一のソリューションは大歓迎です(まだテストしていません)。
user126106

1
@MinimusHeximusまあ、このソリューションは、すべてのUbuntu Desktopで動作するはずです。そして、Unityでテストしました。
ラドゥラデアヌ

3
この答えに感謝し、関連する質問をするようになりました:USBキーボードに別のキーボードレイアウトを永続的に割り当てる方法は?これにはスタートアップスクリプトが必要だと思われます。最初のxinput -list | grep "USB Keyboard"は、デバイスIDを提供します(スタートアップごとに異なります)。私が最初にID番号をカットして、ここでそれを使用するために別のコマンドが必要になります。setxkbmap -device <NUMBER> -layout <LAYOUT>
サディ

6

少し話題から外れてい-variantますが、オプションを追加で使用する場合は、一方のキーボードでdvorakと入力し、もう一方のキーボードでworkmanまたはqwertyまたはその他のレイアウトを入力できます。

setxkbmap -verbose -device 17 -layout us -variant dvorak

ステロイドのペアプログラミング!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.