反转鼠标滚轮方向

Chr*_*rea 300 mouse windows-7 scroll-wheel

有没有办法让鼠标滚轮反转它的方向?我想向上滚动并让该动作向下滚动,反之亦然。鼠标控制面板上没有设置使这成为可能。

任何指向具有此类设置的黑客或特定鼠标模型的指针将不胜感激。我正在使用 Windows 7。

小智 390

快速回答

  1. 以管理员身份打开 PowerShell
  2. 跑:
    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启

详细说明

有一个名为的注册表设置FlipFlopWheel可以执行此操作!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\VID_???\VID_???\Device Parameters.

可能有多个鼠标条目。的默认值FlipFlopWheel应该已经是 0。将其更改为 1 以反转滚动。重新启动或重新插入鼠标以使更改生效。

要获得VID_???号码,您有两种选择:

  1. 转到鼠标控制面板,单击硬件选项卡,然后单击属性

现在在符合HID 的鼠标属性窗口中单击详细信息选项卡并选择设备实例路径属性。注册表路径在那里。您只需拔下并重新插入鼠标即可生效。

  1. 在 PowerShell 中运行它(从开始 » 所有程序 » 附件 » Windows PowerShell):

     # View registry settings
     Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0
    
     # Change registry settings
     # Reverse mouse wheel scroll FlipFlopWheel = 1 
     # Normal mouse wheel scroll FlipFlopWheel = 0 
     Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
    
    Run Code Online (Sandbox Code Playgroud)

    正常(非反转)滚动的命令具有01交换:

     # Restore default scroll direction
     Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 1 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 0 }
    
    Run Code Online (Sandbox Code Playgroud)

  • 不用担心什么???应该是,只需在 PowerShell 中运行它:``Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }`` (98认同)
  • 在 Windows 8 中,还有一个“FlipFlopHScroll”的设置,可以翻转水平滚动(对 Win8 尤其有用)。 (9认同)
  • 只是想注意这个 PowerShell 命令确实也适用于 Windows 10。 (9认同)
  • 请注意,PowerShell 命令必须以管理员身份运行。这就是你所要做的,它只是进入并为每个 VID_ 设置属性????。 (5认同)
  • 如何找到正确的注册表项?密钥必须与鼠标的硬件 ID 匹配。要找到:控制面板 > 设备管理器 > 鼠标... > HID 兼容鼠标 > 右键单击​​ > 属性 > 详细信息 > 属性(下拉列表)= 硬件 ID > 您将在第一行看到 ID,这应该与以下内容之一匹配上面注册表中的条目。 (3认同)
  • 这对我有用,尽管我必须弄清楚在运行命令后我需要拔下/重新插入鼠标。没有那个 Windows(至少 Win7)不会从注册表重新读取鼠标配置。我认为这应该包含在答案中。 (3认同)
  • 我发现我尝试过的一只鼠标完全没有 FlipFlopWheel 设置,这意味着 Powershell 脚本找不到它。手动查找设备实例路径并编辑注册表工作正常 - 我只需要在正确的位置创建一个名为 FlipFlopWheel 的新 REG_DWORD。 (2认同)
  • @Jaykul 的评论应该是公认的答案。我所要做的就是将命令粘贴到管理员 Powershell 中,在拔下/重新插入鼠标后它就可以工作了。 (2认同)
  • 似乎如果您稍后将鼠标插入不同的 USB 端口,您将不得不再次执行此操作(至少在 Windows 10 上) (2认同)
  • +1 表示“重新启动或重新插入鼠标以使更改生效。”这一行。 (2认同)

Sha*_*ken 65

首先安装AutoHotKey。现在创建一个如下所示的脚本:

$WheelUp::
Send {WheelDown}
Return

$WheelDown::
Send {WheelUp}
Return
Run Code Online (Sandbox Code Playgroud)

将其另存为 .ahk 文件并双击该文件以运行它。现在您应该反转鼠标滚轮滚动。

来自此处的所有信息,尽管已通过添加 $ 前缀进行修改,以防止脚本再次捕获发送命令(这加剧了 MaxHotkeysPerInterval 问题)

将以下内容添加到脚本中以反转水平滚轮滚动:

$WheelLeft::
Send {WheelRight}
Return

$WheelRight::
Send {WheelLeft}
Return
Run Code Online (Sandbox Code Playgroud)

使用滚轮滚动可能会超出指定时间间隔内热键按下的默认限制。默认情况下,这是每 2000 毫秒 (#HotkeyInterval) 70 次热键按下 (#MaxHotkeysPerInterval)。将此指令添加到您的脚本中,以将每个间隔的热键按下次数限制从 70 次增加到 200 次:

#MaxHotkeysPerInterval 200
Run Code Online (Sandbox Code Playgroud)

  • Richard 建议在注册表中有一个选项。 (8认同)

Dov*_*Dov 30

您还可以使用应用程序X-Mouse Button Control来完成此操作。您只需要将“滚轮向上”按钮设置为“向下滚动窗口”命令,反之亦然。我在 Windows XP 上使用它,但该应用程序也应该在 7 或 Vista 上运行。它的设置非常快,而且由于它是一个 GUI 应用程序,因此使用起来更容易。

  • v2.2 在“滚动和导航”选项卡上有一个“反转鼠标滚轮滚动”。 (3认同)

Jam*_*ate 19

我编写了一个小的 c# 应用程序来更改所有设备的注册表设置。它枚举每个设备并根据您按下的按钮将“FlipFlopWheel”设置更改为 1 或 0。

完整源代码可在 github 上获得,实际执行翻转注册表设置(<100 行)的源代码在这里:https : //github.com/jamie-pate/flipflop-windows-wheel/blob/master/Form1 。CS

对于那些只想“完成”的人来说,这里是可执行文件(要求 UAC 提升) https://github.com/jamie-pate/flipflop-windows-wheel/blob/master/bin/Debug/FlipWheel.exe

  • 人们通常喜欢在下载和运行“.exe”之前多阅读一些关于您的应用程序的信息;) 请扩展您的答案并写一个适当的介绍。也请不要简单地将您的链接添加到其他答案,除非您真的觉得它可以改善手头的答案。 (4认同)

Chr*_*ice 15

因为评论是短暂的并且不值得信任,所以我在此处发布@JaykulRichard 令人敬畏的答案的精彩评论,作为答案。

以管理员身份运行 Powershell,然后复制/粘贴以下命令以通过反转FlipFlopWheel注册表中的所有条目来反转鼠标:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Run Code Online (Sandbox Code Playgroud)

启动命令后需要重新启动!


小智 5

我有一个 Microsoft 鼠标连接到经过训练的 MacBook。启动鼠标和键盘中心并设置 [Wheel->Reverse scroll direction] 很容易。讽刺在这里当然起到了一定的作用。

  • 只是为了清楚起见:鼠标和键盘中心随 Microsoft 硬件一起提供,与 Mac 无关。 (3认同)
  • 在 Win8 中重启后似乎不会重新加载此设置。当您进入对话框时,设置显示为打开。但它需要关闭然后重新启用才能重新启用。 (3认同)