回答:
まず、変更するキーボードのデバイスIDを見つける必要があります。
$ xinput -list | grep -i 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)]
↳ Power Button id=7 [slave keyboard (3)]
↳ LITEON Technology USB Keyboard id=9 [slave keyboard (3)]
↳ LITEON Technology USB Keyboard id=10 [slave keyboard (3)]
次に、setxkbmapを使用してレイアウトを変更します。
$ setxkbmap -device 9 dvorak
setxkbmapの一部のバージョンには、「-layout」引数が必要です。
$ setxkbmap -device 9 -layout dvorak
あなたがやりたいことは確かに可能であると私は積極的に言うことができます。最初に指定されたシナリオを達成しました
sudo cat /dev/input/event(0,1,2..)
各キーボードで入力しながら、別々のデバイスとして認識されるようにします。次に、試行錯誤を繰り返して、
setxkbmap -device (1-x) us
。
セカンダリsetxkbmap -device 1 us
(両方)にsetxkbmap -device 6 us
のみ影響を与えながら、両方(すべて)のキーボードを構成することを発見しました。関連性があるのは、おそらく両方がPS / 2を介して接続されていることです。
もちろんこれはあなたのために働くことを保証されず、適切な答えとして分類さえしませんが、それはそれがすべて可能であることを確認します。個々のキーボードの名前がどのスキームに従っているかはわかりませんが/dev/input
、udevで名前を指定できると確信しており、適切なsetxkbmap
コマンドを入力できるようになっています/etc/rc.local
。
この質問は少し古いものですが、他の答えはどれもこの作業を起動する方法を扱っていないので、私は自分の解決策を共有すると思っていました。
私の状況: キーを動かしているUSB経由で差し込むHappy Hacking Keyboardがあります(Caps Lockの制御など)。ほとんどの場合これを使用しますが、標準のラップトップキーボードまたは別のUSBキーボードを使用したい場合があります。これらのキーボード用に、カスタムキーボードレイアウトを作成しました。
秘Theは、カスタムキーボードレイアウトをハッピーハッキングキーボードに適用しないことです。
解決策: Xorg設定ファイルを次のように作成しました:
$ cat /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
Identifier "Happily Hacked Keyboard"
MatchDevicePath "/dev/input/event*"
MatchIsKeyboard "on"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "hhk"
EndSection
Section "InputClass"
Identifier "Happy Hacking Keyboard"
MatchIsKeyboard "on"
MatchVendor "Topre_Corporation"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "basic"
EndSection
最初の部分は基本的に、標準キーボードについて、カスタムバリアントを使用してusレイアウトを適用します。2番目の部分では、ハッピーハッキングキーボードについて、基本的なバリアントでusレイアウトを使用します。
パラメーターの束に基づいてデバイスを一致させることができます:xorg doc
setxkbmapの-device引数で判断すると、可能かもしれません。
-デバイスデバイス 入力デバイスの数値デバイスIDを指定します 新しいキーボードレイアウトで更新されました。指定されていない場合、 Xサーバーのコアキーボードデバイスが更新されます。
当然ながら、現時点では、試すための2番目のキーボードはありません。
-Dvorakユーザー
私はあなたが望むようにこれを正確に行うことができるとは思わない。私が知っている2つのオプションがあります。
1)単純なマウスクリック/キーストロークを切り替えることができます。
Ubuntu / GNOMEの場合:
マウスクリック
Ubuntu / Gnomeで、入力レイアウトをセットアップしたら、パネルの空の場所に移動し、右クリックして[パネルに追加]をクリックします。これをパネルに追加するには、「キーボードインジケータ」を選択します。キーボードレイアウトを示す小さなテキストが入力され、これをクリックして切り替えることができます。
キーボードショートカット
システム->設定->キーボード->レイアウト->レイアウトオプション
「レイアウトを変更するキー」というオプションがあります。Alt + Shiftに設定できます。これにより、通常のキーボードショートカットが妨げられることはありません。
KDEでそれを行う方法もあると思います。
2)他の代替手段はhttp://en.wikipedia.org/wiki/Xneurですが、これがスウェーデン語で利用可能かどうかはわかりません。英語と同様の構成を持つ言語では不可能かもしれません。