除控制面板->鼠标外,是否有其他方法可以交换鼠标左/右键


9

几年前,我开始用左手使用鼠标。我花了很长时间才学会了-几个星期。从那时起,我的右肩开始出现问题。

自从我在左侧使用鼠标,而且还交换了按钮。现在,当使用鼠标右侧的计算机上的“远程桌面”访问我的计算机时,该方法无法正常工作。

另外,我在工作的主要计算机还连接了两个鼠标,一个在USB上,另一个通过PS / 2。最好将左侧的按钮配置为可以互换按钮,而将右侧的按钮配置为正常按钮。这样我可以双向工作。

有没有一种配置驱动程序的方法,或者有可用的增强驱动程序,让我可以用鼠标控制此驱动程序,而不用在Windows UI中全局设置向左/向右交换。


3
有趣的问题。出于同样的原因,我也已经开始使用鼠标左键使用鼠标,但是我不交换按钮。我用中指左键单击,并用索引右键单击。这意味着我或其他任何人仍然可以使用右手鼠标而无需进行任何更改。
ChrisF,2010年

2
我发现交换按钮更容易,这样我就不用考虑我在用左手还是右手了。实际上,我也曾考虑过修改鼠标硬件。
Ernelli 2010年

Answers:


4

您可以使用X-Mouse Button Control交换鼠标按钮。

X鼠标按钮控件通过拦截单击来进行更改,因此它们可以向下游传输到任何远程桌面会话。但我认为它没有按鼠标设置。


3

Microsoft Intellipoint鼠标驱动程序以不同于标准鼠标驱动程序的方式处理交换按钮功能,并且远程桌面正常工作:物理连接的鼠标的左键单击将作为右键单击发送到远程计算机。从其他地方连接到计算机时,Intellipoint不会交换按钮。

但是,Intellipoint软件不会在非Intellipoint鼠标上交换按钮。因此,我的家庭工作站在键盘左侧有一个Intellipoint鼠标,在键盘右侧有一个随附的Dell鼠标。适用于惯用左手和惯用左手的用户。

我的工作PC有两只Dell鼠标,并且正在运行XP。幸运的是,这些鼠标具有不同的硬件ID,因此我已经在Intellipoint驱动程序的安装程序中修改了一个.inf文件,并说服了其中一个鼠标是Microsoft制造的。

但是,上次尝试无法在Win7下使它正常工作,因此当我的新工作PC到货时,我可能会购买与之配套的Microsoft鼠标。

一个陷阱:必须在安装Intellipoint之前关闭标准的“交换按钮”功能。否则,当您从其他地方将台式机远程连接到该PC时,按钮将被交换。

第三方鼠标驱动程序也可能会比标准驱动程序更好地工作。


2

硬件替代品可以是游戏鼠标。我发现这款SteelSeries鼠标声称具有灵活性和无驱动程序。我想您可以通过单击另一个按钮来交换左/右按钮。

请注意,我自己还没有尝试过,并且与普通鼠标相比价格昂贵。我不知道修改普通鼠标是否值得节省。


1

我的企鹅Ambidextrous Vertical鼠标在远程会话中效果很好。另外,我只需要一只鼠标。如果要从左切换到右,反之亦然,只需单击切换开关。Lenovo x230中的内置跟踪点和跟踪板不会将我的设置转移到远程会话。在路上进行远程会话时,这使我发疯。


1

我认为EitherMouse应该在这里提及。当我必须使用Windows框时,我对此感到非常满意。它使管理多鼠标设置变得轻而易举。

您可以在其网站上下载该工具:http : //www.twomouse.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值不重要。可以使用以下lsusb命令找到USB ID 。要查看可用的按钮,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

您必须重新启动X会话才能使新的Xorg配置生效。出现问题时,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)

我在Ubuntu 14.04.03上的Xorg方式有问题。出于某种原因,这些设置被读取,但由于不起作用(过去)而可能被其他内容覆盖。我在这里打开了一个错误:bugs.launchpad.net/ubuntu/+source/xorg/+bug/1518653
user30747 2015年

0

X Window System中,可以使用 xmodmap(在X中修改键盘映射和指针按钮映射的实用程序)。

左按钮是数字1,右按钮是数字3。使用xmodmap可以交换鼠标按钮,如下所示:

$ xmodmap -e "pointer = 3 2 1" 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.