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

如何用Python实现鼠标X轴移动检测、按键监听及动作触发?

解决方案

依赖库安装

先安装所需第三方库:

pip install pyautogui pynput pyperclip

完整实现代码

import pyautogui
import pyperclip
from pynput.keyboard import Key, Listener

# 全局配置与状态变量
my_switch = 0
# 鼠标X轴触发移动阈值(单位:像素)
X_MOVE_THRESHOLD = 50
# 记录上次鼠标X坐标
last_x = pyautogui.position()[0]
# 指定触发动作的按住按键(示例为左Ctrl,可自行修改)
TRIGGER_KEY = Key.ctrl_l
# 标记按键是否处于按住状态
key_held = False

def on_press(key):
    global key_held
    if key == TRIGGER_KEY:
        key_held = True

def on_release(key):
    global key_held
    if key == TRIGGER_KEY:
        key_held = False

# 启动按键监听线程
listener = Listener(on_press=on_press, on_release=on_release)
listener.start()

def check_clipboard():
    # 检测剪贴板是否有非空内容
    clipboard_content = pyperclip.paste()
    return bool(clipboard_content.strip())

try:
    while True:
        current_x = pyautogui.position()[0]
        # 满足条件:按住指定按键 + 鼠标向右移动超过阈值
        if key_held and (current_x - last_x) >= X_MOVE_THRESHOLD:
            last_x = current_x
            # 状态循环切换(0→1→2→0)
            my_switch = my_switch % 3
            if my_switch == 0:
                print("执行第一个动作")
                # 可在此添加剪贴板检测逻辑,比如:
                # if check_clipboard():
                #     print("剪贴板内容:", pyperclip.paste())
                my_switch += 1
            elif my_switch == 1:
                print("执行第二个动作")
                my_switch += 1
            elif my_switch == 2:
                print("执行第三个动作")
                my_switch += 1
        # 鼠标左移时更新基准X坐标,避免后续误触发
        elif current_x < last_x:
            last_x = current_x
except KeyboardInterrupt:
    # 按Ctrl+C终止程序,同时停止按键监听
    listener.stop()
    print("程序已退出")

代码说明

  • 按键监听:用pynput实时检测指定按键的按住状态,仅在按键按住时响应鼠标移动,避免误触发
  • 鼠标X轴检测:只关注X坐标变化,向右移动超过设定阈值时触发动作;鼠标左移时更新基准坐标,防止重复触发
  • 状态切换:通过my_switch % 3实现三个状态的循环切换,每个状态对应不同动作
  • 剪贴板检测:check_clipboard()函数可检测剪贴板是否有非空内容,可按需在对应动作中调用
  • 退出机制:按下Ctrl+C可终止程序,同时停止按键监听线程

内容的提问来源于stack exchange,提问作者user20882682

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:25:15