web-dev-qa-db-ja.com

コントロールパネル->マウスを除いて、マウスの左/右ボタンを交換する代替手段はありますか?

私は数年前に左手でマウスを使い始めました。学ぶのにそれほど時間はかかりませんでした-数週間。それ以来、私は右肩に問題を抱え始めました。

左側のマウスを使って、ボタンも入れ替えてから。これで、右側にマウスを置いたコンピューターでリモートデスクトップを使用してコンピューターにアクセスすると、うまく機能しません。

また、仕事中の私のプライマリコンピュータには、2つのマウスが接続されています。1つはUSBに、もう1つはPS/2経由です。左側のボタンを交換して右側のボタンを通常のボタンに設定するとよいでしょう。そうすれば、私は両方の方法で働くことができました。

ドライバーを構成する方法はありますか、またはWindows UIでスワップをグローバルに左右に設定するのではなく、マウスごとにこれを制御できる拡張ドライバーを利用できますか?.

9
Ernelli

X-Mouse Button Control を使用して、マウスボタンを入れ替えることができます。

X-Mouse Button Controlはクリックをインターセプトすることで変更を行うため、リモートデスクトップセッションにダウンストリームで転送されます。しかし、マウスごとの設定はないと思います。

4
harrymc

Microsoft Intellipointマウスドライバーは、標準のマウスドライバーとは異なる方法でスワップボタン機能を処理し、リモートデスクトップは正しく機能します。物理的に接続されたマウスの左クリックは、右クリックとしてリモートマシンに送信されます。また、他の場所からマシンに接続する場合、Intellipointはボタンを交換しません。

ただし、Intellipointソフトウェアは、Intellipoint以外のマウスのボタンを入れ替えません。そのため、私の自宅のワークステーションでは、キーボードの左側にIntellipointマウスがあり、キーボードの右側に付属のDellマウスがあります。左利きと右利きの両方のユーザーにとって、おやつとして機能します。

私の仕事用PCには2台のDellマウスがあり、XPを実行しています。幸い、マウスのハードウェアIDは異なるため、Intellipointドライバーのインストーラーで.infファイルを変更し、マウスの1つがMicrosoft製であると確信しました。

ただし、前回試したときはWin7で動作させることができなかったので、新しい作業用PCが届いたら、Microsoftマウスを購入して使用する予定です。

1つの落とし穴:Intellipointをインストールする前に、標準の「スワップボタン」機能をオンにする必要がありますoff。そうしないと、他の場所からそのPCにデスクトップをリモート接続すると、ボタンが入れ替わります。

サードパーティのマウスドライバも標準のドライバよりもうまく機能する可能性があります。

3
acorey

代替ハードウェアはゲーミングマウスかもしれません。私はこれを見つけました SteelSeriesマウス 両手利きで無人であると主張しています。別のボタンをクリックすると、左右のボタンを入れ替えることができると思います。

自分で試したことがなく、通常のマウスに比べて高価であることに注意してください。通常のマウスを変更することは節約する価値があるのだろうか。

2
Conde

ここでEitherMouseについて言及する価値があると思います。 Windowsボックスを使わなければならないときはとても満足しています。マルチマウスのセットアップを簡単に管理できます。

このツールは、次のWebサイトからダウンロードできます。 http://www.ethermouse.com/


後世のために、GNU/Linuxのソリューションもここに含めます。私の意見では、最良の方法は、カスタムXorgInputClassセクション構成を定義することです。これは、マウスが検出されるたびに有効になります。これが私の設定ファイル/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を使用して、システム上のすべての入力デバイスとそれらのxinputIDのリストを取得できます。コマンドxinput get-button-map Nを使用して、デバイスのボタンの完全なリストを作成できます。ここで、Nはxinput get-button-map 10などのデバイスのxinputIDです。 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)
1
user30747

私のペンギンAmbidextrous垂直マウスは、リモートセッションで非常にうまく機能します。また、必要なマウスは1つだけです。左から右に、またはその逆に切り替えたい場合は、トグルスイッチをクリックするだけです。 Lenovo x230に組み込まれているトラックポイントとトラックパッドは、設定をリモートセッションに引き継ぎません。これは、外出先でのリモートセッションで作業しているときに私をイライラさせます。

1
ChouDoufu

X Window System では、xmodmap(Xのキーマップとポインタボタンマッピングを変更するためのユーティリティ)を使用できます。

左ボタンは1番、右ボタンは3番です。xmodmapを使用すると、次のようにマウスボタンを入れ替えることができます。

$ xmodmap -e "pointer = 3 2 1" 
0
marcanuy