使用直接输入的 Windows 的 Python 鼠标和键盘输入自动化。
项目描述
pydirectinput_rgx
这个库是https://github.com/learncodebygaming/pydirectinput 1.0.4的一个分支
这个包以多种方式扩展了 PyDirectInput。它修复了一些错误,添加了仍然需要使用 PyAutoGUI 的剩余缺失输入函数,并提供了额外的仅关键字参数以更精确地控制函数行为。
与上游的 PyDirectInput 包相反,这个包打算几乎完全取代 PyAutoGUI 的基本用法,跳过更高级的选项,如记录屏幕截图和自定义补间函数。这应该减少并排安装 PyDirectInput 和 PyAutoGUI 的需要,从而将依赖项的数量保持在最低限度。
这个库是完全内联类型注释的,并且通过mypy --strict
. 不幸的是,这也意味着这个包只适用于 Python 3.7 或更高版本。没有计划将更改向后移植到旧版本。
这就是为什么这个包可以独立使用并使用相同的包名的原因。没有理由同时使用两者。一旦 Python 的类型注释得到更广泛的采用,这个包可能会被合并回来并集成到上游。在那之前,这个包的存在是为了填补这个空白。
好的,但是首先 PyDirectInput 是什么?
PyDirectInput 的存在是因为 PyAutoGUI 使用较旧且兼容性较差的 API 函数。
为了增加与 DirectX 软件和游戏的兼容性,内部已被 SendInput() 和 Scan Codes 取代,而不是 Virtual Key Codes。
有关更多信息,请参阅https://github.com/learncodebygaming/pydirectinput上的原始 README
安装
pip install pydirectinput-rgx
提供与 PyAutoGui 相同/相似签名的函数:
- 信息:
position()
size()
onScreen()
isValidKey()
- 鼠标输入:
moveTo()
move()
/moveRel()
mouseDown()
mouseUp()
click()
和衍生物:leftClick()
rightClick()
middleClick()
doubleClick()
tripleClick()
scroll()
/vscroll()
hscroll()
dragTo()
drag()
/dragRel()
- 键盘输入:
keyDown()
keyUp()
press()
hold()
(支持上下文管理器)write()
/typewrite()
hotkey()
此外,键盘输入已扩展为:
- 允许整数扫描码作为参数的低级 scancode_* 函数:
scancode_keyDown()
scancode_keyUp()
scancode_press()
scancode_hold()
(支持上下文管理器)scancode_hotkey()
- 允许将 Unicode 字符插入支持的程序的高级 unicode_* 函数:
unicode_charDown()
unicode_charUp()
unicode_press()
unicode_hold()
(支持上下文管理器)unicode_write()
/unicode_typewrite()
unicode_hotkey()
与 PyAutoGUI 相比缺少的功能
logScreenshot
论据。不会创建任何屏幕截图。tween
论据。补间函数目前是硬编码的。
与分叉源点 PyDirectInput 版本 1.0.4 相比的变更日志:
- 添加/修复扩展键码
- 添加 flake8 棉绒
- 添加 mypy 类型提示和注释(这使得这个 fork Python >=3.7 只!)
- 基于https://github.com/learncodebygaming/pydirectinput/pull/22添加滚动功能并改进
- 基于https://github.com/learncodebygaming/pydirectinput/pull/30添加热键功能并改进
- 添加更多可用的键盘键
- 在旧的向下/向上/按下功能中为某些键盘键添加可选的自动移位
- 为印刷和打字功能添加额外的参数以实现更严格的时序控制
- 添加 Unicode 输入功能,允许发送简单键盘无法发送的文本
- 添加允许对 SendInput 的抽象进行较低级别访问的 Scancode 输入函数
- 通过虚拟分辨率添加对多显示器设置的支持(大多数功能应该可以正常工作)
- 添加对交换主鼠标按钮的支持
- 添加对鼠标功能的持续时间支持
- 为鼠标持续时间添加睡眠校准
- 添加自动禁用鼠标加速以获得更准确的相对鼠标移动
- 增加文档
该库使用至少需要 Python 3.7 或更高版本的内联类型注释,并且没有计划使代码向后兼容旧的 Python 版本!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
pydirectinput_rgx -2.0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fcabd10f7c8e37e783aa0ea4db7c2a3543c686c5eea9aa605e743cf5904c3f82 |
|
MD5 | fa941f18c4f648479c0637355d674b62 |
|
布莱克2-256 | f1432506beece6ee3a2a88929ad616876c10098acad9567b5795a0babba65dd4 |
pydirectinput_rgx -2.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bb5a11f67ba921e29d066f9cb6f60a84836999e0c481a5fef29892a8b4d06e6d |
|
MD5 | 92ed6ac70993d194a02ba2a84b321972 |
|
布莱克2-256 | adb085d7f937e54bb96578463e971d2184fbf2f296b8f88f36cf6bdc13b0ca3a |