有没有办法用pyhook阻止除CAPS以外的所有键

时间:2019-02-02 03:42:39

标签: python pyhook

我正在尝试使用pyHook阻止键盘上的所有键,但不包括大写锁定键。下面是仅阻止a和A键的代码,我正在寻找相反的方法。我需要做些什么来扭转这种情况?

我试图将所有按键都放在大写字母旁边,但这似乎是错误的处理方式

def OnKeyboardEvent(event):
  #仅阻止字母A(大小写)
  返回(event.Ascii不在(ord('a'),ord('A'))中)

2 个答案:

答案 0 :(得分:0)

看来,如果函数返回True,则事件不会被阻止。

import string
def OnKeyboardEvent(event):
    return event.Ascii in string.ascii_uppercase

或者return.Ascii in map(ord, string.ascii_uppercase)

答案 1 :(得分:0)

由于大写锁定本身不可打印,因此不会反映在事件的“ Ascii-属性”中。

但是还有其他属性-即KeyID:

http://pyhook.sourceforge.net/doc_1.5.0/

根据此表,使用它来查找大写锁定:

https://docs.microsoft.com/en-us/windows/desktop/inputdev/virtual-key-codes