python - 重新映射快捷方式我的组合 pyautogui 和 pynput
问题描述
我正在尝试重新映射结合 pynput 和 pyautogui 的快捷方式,但出现错误
在使用keyboard.pressed(Key.shift)执行时:AttributeError:模块'pynput.keyboard'没有属性'pressed'
from pynput import keyboard
import pyautogui
# The key combination to check
COMBINATIONS = [
{keyboard.Key.ctrl, keyboard.KeyCode(char='z')},
{keyboard.Key.ctrl, keyboard.KeyCode(char='x')}
]
# The currently active modifiers
current = set()
def execute():
pyautogui.typewrite('Hello world!\n', interval=secs_between_keys)
#pyautogui.hotkey('cmd', 'v')
def on_press(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.add(key)
if any(all(k in current for k in COMBO) for COMBO in COMBINATIONS):
execute()
def on_release(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.remove(key)
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
我是一个初学者,不知道为什么我不能在这里使用 pyautogui 函数。你能开导我吗?非常感谢!
解决方案
你想要press
which 接受key
论点,而不是pressed
.
来自文档:-
Controller.press(key)
Presses a key.
A key may be either a string of length 1, one of the Key members or a KeyCode.
推荐阅读
- flutter - 当 sliver child 在屏幕中央时如何触发函数调用?
- mysql - 数据库设计 - 使用“所有者”、“合作伙伴”、“员工”为“公司”建模
- mysql - Laravel 6 多对多关系
- javascript - 单击按钮时出现类型错误,说明该功能未定义?
- c++ - 为什么使用一个构造函数初始化引用成功但另一个构造函数失败
- reactjs - 反应原生背景颜色仅覆盖一半屏幕,如何解决?
- python - Selenium Driver:如何找到网页加载后添加的元素?
- javascript - 在制表器中从 json 加载数据?
- python - 我的结果是四舍五入的,我想要完整的答案
- javascript - Browserify with chrome extension:无法读取未定义的属性“_handle”