pynput 监听键盘组合键
监听键盘组合键
在使用pynput监听键盘组合键的时候,需要知道组合键的键值是什么才可以。例如下面:
<48>
代表的就是ctrl+0
的组合键。
from pynput.keyboard import Key, Controller,Listener
keyboard = Controller()
def on_press(key):
print('{0} 被按下'.format(key))
def on_release(key):
print('{0} 被释放'.format(key))
if key == Key.esc:
return False
if str(key) == r"<48>":# ctrl 0
test()
def test():
print ('按下ctrl 0,运行测试程序')
# 创建监听
with Listener(on_press=on_press,on_release=on_release) as listener:
listener.join()
更多的其他组合键键值
记录的不是全部的,只是大部分的。后续会持续补充。
keyboard_key_dict = {
r"'\x01'" : ['ctrl','a'],
r"'\x02'" : ['ctrl','b'],
r"'\x03'" : ['ctrl','c'],
r"'\x04'" : ['ctrl','d'],
r"'\x05'" : ['ctrl','e'],
r"'\x06'" : ['ctrl','f'],
r"'\x07'" : ['ctrl','g'],
r"'\x08'" : ['ctrl','h'],
r"'\t'" : ['ctrl','i'],
r"'\n'" : ['ctrl','j'],
r"'\x0b'" : ['ctrl','k'],
r"'\x0c'" : ['ctrl','l'],
r"'\r'" : ['ctrl','m'],
r"'\x0e'" : ['ctrl','n'],
r"'\x0f'" : ['ctrl','o'],
r"'\x10'" : ['ctrl','p'],
r"'\x11'" : ['ctrl','q'],
r"'\x12'" : ['ctrl','r'],
r"'\x13'" : ['ctrl','s'],
r"'\x14'" : ['ctrl','t'],
r"'\x15'" : ['ctrl','u'],
r"'\x16'" : ['ctrl','v'],
r"'\x17'" : ['ctrl','w'],
r"'\x18'" : ['ctrl','x'],
r"'\x19'" : ['ctrl','y'],
r"'\x1a'" : ['ctrl','z'],
r"'\x1f'" : ['ctrl','shift','-'],
r"<186>" : ['ctrl',';'],
r"<187>" : ['ctrl','='],
r"<189>" : ['ctrl','-'],
r"<192>" : ['ctrl','`'],
r"<222>" : ['ctrl',r"'"],
r"<48>" : ['ctrl','0'],
r"<49>" : ['ctrl','1'],
r"<50>" : ['ctrl','2'],
r"<51>" : ['ctrl','3'],
r"<52>" : ['ctrl','4'],
r"<53>" : ['ctrl','5'],
r"<54>" : ['ctrl','6'],
r"<55>" : ['ctrl','7'],
r"<56>" : ['ctrl','8'],
r"<57>" : ['ctrl','9'],
r"'~'" : ['shift', '`'],
r"'!'" : ['shift', '1'],
r"'@'" : ['shift', '2'],
r"'#'" : ['shift', '3'],
r"'$'" : ['shift', '4'],
r"'%'" : ['shift', '5'],
r"'^'" : ['shift', '6'],
r"'*'" : ['shift', '7'],
r"'('" : ['shift', '8'],
r"')'" : ['shift', '9'],
r"'_'" : ['shift', '-'],
r"'+'" : ['shift', '='],
r"':'" : ['shift', ';'],
r"'\"'" : ['shift', "'"],
r"'<'" : ['shift', ","],
r"'{'" : ['shift', "["],
r"'}'" : ['shift', "]"],
r"'|'" : ['shift', "\\"],
r"'?'" : ['shift', "/"],
}
如有疑问、建议或错误,欢迎评论留言或私信指出,多谢!