【发布时间】:2021-09-05 15:28:46
【问题描述】:
我最近意识到 Python 的 pynput 模块的按键点击没有在某些软件中注册。但是,物理键点击工作得很好。这就提出了如何识别这两种不同方法的问题。我以为这是很久以前的一个已回答的问题,但我似乎找不到任何关于此的帖子。
让我们以像 Genshin 这样的随机游戏为例。键盘上的“w”键会导致游戏中的角色向前移动。但是,诸如以下“按住”“w”键的程序不会被游戏注册。
from pynput.keyboard import Key, Controller
keyboard = Controller()
while True:
keyboard.press("w")
keyboard.release("w")
我的两个大问题是:
- 物理按键点击和程序生成按键点击让这些软件能够区分使用哪种方法有什么区别?
- 根据第一个问题的答案,有没有办法绕过这种差异而不用修改软件代码(也就是将程序生成的按键点击伪装成物理按键点击)?
提前致谢!
编辑:如果有人知道这是如何工作的,请告诉我。任何帮助将不胜感激!
【问题讨论】:
-
也许如果你按住键不为零的时间,你实际上会看到一些向前的运动......
-
@jasonharper 即使按住它,它的工作原理也是一样的。我不认为关键点击首先被注册