You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在鼠标区域中实现按住左键时反转鼠标光标移动方向?

实现按住鼠标左键时光标移动方向反转的效果

可以通过Python结合pynput和pyautogui库实现这个需求,核心思路是监听鼠标的点击状态和移动事件,当左键按住时反向调整光标位置。

步骤1:安装依赖库

打开终端执行以下命令:

pip install pynput pyautogui

步骤2:完整代码实现

from pynput.mouse import Listener, Button, Controller

mouse = Controller()
left_pressed = False
last_pos = mouse.position

def on_click(x, y, button, pressed):
    global left_pressed, last_pos
    if button == Button.left:
        left_pressed = pressed
        last_pos = mouse.position

def on_move(x, y):
    global left_pressed, last_pos
    if left_pressed:
        # 计算鼠标移动的位移差
        dx = x - last_pos[0]
        dy = y - last_pos[1]
        # 反向设置光标位置
        mouse.position = (last_pos[0] - dx, last_pos[1] - dy)
        last_pos = mouse.position
    else:
        last_pos = (x, y)

# 启动监听,保持程序运行
with Listener(on_click=on_click, on_move=on_move) as listener:
    listener.join()

代码说明

  • Controller用于直接控制系统光标位置,Listener负责监听鼠标的点击和移动事件
  • left_pressed变量实时跟踪鼠标左键的按压状态
  • last_pos记录上一次的光标位置,用来计算每次移动的位移差
  • 当左键按住时,根据鼠标移动的位移反向调整光标位置,实现"右移变左、上移变下"的效果;松开左键后恢复正常移动逻辑

注意事项

  • 运行代码后,按住鼠标左键移动即可触发反向效果,松开左键恢复正常
  • 停止程序可在终端按Ctrl+C,或通过任务管理器结束进程
  • 部分操作系统(如macOS)需要给运行程序的终端/IDE赋予"辅助功能"权限,否则光标控制可能失效

内容的提问来源于stack exchange,提问作者Евгений Дружинин

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:02:10