在按下特定键(切换)或按住特定键时禁用水平(左/右)鼠标输入

在按下特定键(切换)或按住特定键时禁用水平(左/右)鼠标输入

在 Windows 10 中,我正在寻找一种方法来禁用鼠标在水平或左右方向的移动的任何输入,同时仍允许记录垂直或上下方向的输入。

允许鼠标只上下移动,不左右移动。如果可以通过热键切换或热键按住来打开或关闭此功能,那就太理想了。

示例:按住“]”或类似按钮,禁用正在处理的鼠标的所有水平输入。松开后,一切恢复正常。

答案1

尝试这个

]::
   CoordMode, Mouse
   MouseGetPos, x
   ClipCursor(x, 0, 0, A_ScreenHeight)
return

] Up::
    ClipCursor()  ; Off
return


; https://www.autohotkey.com/boards/viewtopic.php?f=76&t=62856#p445668

ClipCursor(x := "", y := "", w := "", h := "") {
   if p := x != "" {
      VarSetCapacity(RECT, 16, 0), p := &RECT
      for k, v in [x, y, x + w, y + h]
         NumPut(v, p + 4*(k - 1), "Int")
   }
   DllCall("ClipCursor", "Ptr", p)
}

相关内容