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

如何用Python调用游戏鼠标4、5键?PyAutoGUI不支持该功能求帮助

实现鼠标4/5号按键功能的解决方案

PyAutoGUI确实不支持鼠标4号(后退)和5号(前进)按键的模拟,你可以更换为pynput库来实现该功能,它是跨平台的输入控制库,支持完整的鼠标按键操作。

步骤:

  1. 安装pynput库
pip install pynput
  1. 修改现有代码,整合pynput的鼠标控制逻辑
    以下是结合你现有代码的修改示例,添加了鼠标4/5号键的模拟分支:
from pynput.mouse import Controller, Button
import time
import pyautogui

# 保留你原有的buscar_cs函数和conexion相关代码
def buscar_cs():
    # 你的函数逻辑
    pass

while True:
    data = conexion.read(size=1)
    if data == bytes('7','utf-8'):
        pyautogui.hotkey('ctrl', 'c')
    elif data == bytes('4','utf-8'):
        pyautogui.hotkey('ctrl', 'v')
    elif data == bytes('8','utf-8'):
        pyautogui.hotkey('ctrl', 'f')
    elif data == bytes('C', 'utf-8'):
        pyautogui.hotkey('ctrl', 'u')
    elif data == bytes('*', 'utf-8'):
        buscar_cs()
    elif data == bytes('A', 'utf-8'):
        for i in range(5):
            pyautogui.moveTo(777,363)
            pyautogui.click(x=777,y=363,button='middle')
            pyautogui.scroll(-244)
            time.sleep(0.50)
    elif data == bytes('2', 'utf-8'):
        for i in range(5):
            pyautogui.moveTo(1022,284)
            pyautogui.click(x=1022,y=284,button='left')
            pyautogui.scroll(-244)
            time.sleep(0.25)
    elif data == bytes('B', 'utf-8'):
        # 模拟鼠标4号键(后退)点击
        mouse = Controller()
        mouse.click(Button.x1, 1)
    elif data == bytes('E', 'utf-8'):
        # 模拟鼠标5号键(前进)点击
        mouse = Controller()
        mouse.click(Button.x2, 1)
    elif data == bytes('D','utf-8'):
        pyautogui.alert(text="Cerrado", title='ALERTA', button='OK')
        break

说明:

  • Button.x1对应鼠标4号按键(通常是后退键),Button.x2对应鼠标5号按键(通常是前进键)
  • 如果需要长按侧键,可以使用mouse.press(Button.x1)和mouse.release(Button.x1)来实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:45:36