有没有办法将特殊的非字符键作为字符串类型转换为键类型? (例如 "Key.f12" 到实际的 keyboard.Key.f12 值)
Is there a way to convert a special non-character keys as string type to a key type? (E.g. "Key.f12" to the actual keyboard.Key.f12 value)
我正在使用 pynput 制作一个程序,该程序接受一系列按键,将它们保存到一个文件中,以便稍后模拟这些按键操作。
这适用于字符键('a'、'1'、'#' 等)但不适用于其他键,例如 'esc'、'enter' 和功能键(即 f1-f12)。它只是吐出 'Key.'(例如 'Key.esc' 或 'Key.f12')。可以使用 space、enter 和 tab 等键,我可以为其使用字符串表示(" "、"\n" 和 "\t")
我想知道是否有办法将字符串中的特殊键转换为 'pynput.keyboard.Key' 类型。例如。将"hello worldKey.f12"中的"Key.f12"或"f12"转换为Keyclass的值,Key.f12
我环顾四周,但即使在文档中也找不到任何内容。
换个角度想,在官方文档中,有一个函数调用parse
。例如,你想按"Hello world"。在你的文件中保存H-e-l-l-o- -w-o-r-l-d-<Enter>
。
下次读取文件时,使用.split("-")
将它们拆分为一个列表并使用parse来处理them.Here是一个最小的例子:
from pynput import keyboard
# s is the string in the file
s = "H-e-l-l-o- -w-o-r-l-d-<Enter>"
control = keyboard.Controller()
for i in s.split("-"):
print(i)
control.press(*keyboard.HotKey.parse(i))
control.release(*keyboard.HotKey.parse(i))
当你运行这个代码时,它会输入Hello world\n
。
我正在使用 pynput 制作一个程序,该程序接受一系列按键,将它们保存到一个文件中,以便稍后模拟这些按键操作。
这适用于字符键('a'、'1'、'#' 等)但不适用于其他键,例如 'esc'、'enter' 和功能键(即 f1-f12)。它只是吐出 'Key.'(例如 'Key.esc' 或 'Key.f12')。可以使用 space、enter 和 tab 等键,我可以为其使用字符串表示(" "、"\n" 和 "\t")
我想知道是否有办法将字符串中的特殊键转换为 'pynput.keyboard.Key' 类型。例如。将"hello worldKey.f12"中的"Key.f12"或"f12"转换为Keyclass的值,Key.f12
我环顾四周,但即使在文档中也找不到任何内容。
换个角度想,在官方文档中,有一个函数调用parse
。例如,你想按"Hello world"。在你的文件中保存H-e-l-l-o- -w-o-r-l-d-<Enter>
。
下次读取文件时,使用.split("-")
将它们拆分为一个列表并使用parse来处理them.Here是一个最小的例子:
from pynput import keyboard
# s is the string in the file
s = "H-e-l-l-o- -w-o-r-l-d-<Enter>"
control = keyboard.Controller()
for i in s.split("-"):
print(i)
control.press(*keyboard.HotKey.parse(i))
control.release(*keyboard.HotKey.parse(i))
当你运行这个代码时,它会输入Hello world\n
。