ここでは、EtherMouseに言及するに値すると思います。Windowsボックスを使用する必要があるとき、私は非常に満足しています。複数マウスのセットアップを簡単に管理できます。
このツールは、Webサイトhttp://www.eithermouse.com/からダウンロードできます。
後世のために、ここにもGNU / Linuxのソリューションを含めます。私の意見では、最良の方法は、カスタムXorg InputClassセクション構成を定義することです。これは、マウスが検出されるたびに有効になります。ここに私の設定ファイルがあります/etc/X11/xorg.conf.d/50-mouses-config.conf
:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
Identifier
値は重要ではありません。USB IDは、lsusb
コマンドを使用して見つけることができます。使用可能なxev
ボタンを確認するには、マウスのボタンを押したときにツールを使用してボタンIDを取得します。このコマンドxinput list
を使用して、システム上のすべての入力デバイスとそのxinput IDのリストを取得できます。コマンドを使用して、デバイスのボタンの完全なリストを表示できxinput get-button-map N
ます。ここで、Nはのようなデバイスのxinput ID xinput get-button-map 10
です。xinput set-button-map N *mapping*
次のようなコマンドを使用して、デバイスのボタンのマッピングを変更して実験できます。xinput set-button-map 10 3 2 1
新しいXorg設定を有効にするには、Xセッションを再起動する必要があります。問題が発生した場合、Xorg.log(tail -f /var/log/Xorg.0.log
)が何が問題なのかを知る手がかりになるかもしれません。
xinput set-button-map
代わりに使用されますが、あまりダイナミック(お使いのデバイスが検出されたときに、それが自動的に適用されることはありません)であることができます。次のスクリプトは、起動時に実行するように構成できます(Ubuntuには、セットアップするための起動アプリケーションGUIがあります)。何らかの理由で〜/ .profileファイルからスクリプトを呼び出すだけでは機能しません。MOUSE_NAME変数は、xinput list
コマンドの出力でマウスに与えられた名前に対応します。
#!/bin/bash
MOUSE_NAME="Razer Razer Lachesis"
BUTTONS_MAP="3 2 1"
while read -r line; do
raw_line=$(grep "$MOUSE_NAME" | grep "pointer")
if [ ! -z "$raw_line" ]; then
mouse_id=$(echo "$raw_line" | cut -d '=' -f2 | sed 's/\t.*//g')
echo "Found ${MOUSE_NAME}'s id: $mouse_id"
xinput set-button-map $mouse_id $BUTTONS_MAP
break
fi
done < <(xinput list)