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

使用Python的keyboard模块如何引用方向键?

解决keyboard模块方向键调用与热键参数问题
  • 方向键的正确标识符:在keyboard模块中,右键对应的文本是'right',你之前用的"right arrow"是错误写法,"K_RIGHT"属于其他库(比如pygame)的标识,不适用于此模块。

  • 热键注册的参数错误:你的add_hotkey调用方式有误,回调函数的参数需要放在args元组里,trigger_on_release是关键字参数。原代码直接传20和True会导致参数解析错误,这才是你遇到大型报错的主要原因。

修正后的代码:

import keyboard

def moveArrow(times):
    while times > 0:
        keyboard.press_and_release("right")
        times -= 1

# 正确传递参数:args是回调的参数元组,trigger_on_release用关键字指定
keyboard.add_hotkey("ctrl+shift+;", moveArrow, args=(20,), trigger_on_release=True)

keyboard.wait("esc")

另外,如果你需要长按右键再释放(而非单次按下释放),可以分开调用keyboard.press('right')和keyboard.release('right'),配合time.sleep()控制时长:

import keyboard
import time

def holdRightArrow(duration):
    keyboard.press('right')
    time.sleep(duration)
    keyboard.release('right')

keyboard.add_hotkey("ctrl+shift+;", holdRightArrow, args=(2,), trigger_on_release=True)
keyboard.wait("esc")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 21:49:49