Python Unicode键盘钩子无输出

2024-04-16 08:27:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我不希望在按下键盘键时键入任何字符,但希望返回键代码。你知道吗

我使用Keyboardwin32apictypes和Python中的其他包。
我不希望键入任何字符(例如在记事本、MSword或其他应用程序中),只希望键入键代码。
我的代码是:

import time
import keyboard 

MyVic = {'a':u'\u0721','s':u'\u0722','d':u'\u0723'}

class Tkeybrd:
    def __init__(self):
        self.kcode = 0
        self.Kchrk = ''
        self.myc   = ''
    def wait(self,c): #wait for press a key
        keyboard.block_key(c)
        time.sleep(0.001)
        if c in MyVic[c]:
            self.myc = MyVic[c]
        else:
            print(c)
        keyboard.write(self.myc)
        keyboard.unblock_key(c)
    def printit(self,e):
        self.kcode = e.scan_code
        self.kchrk = e.name
        self.wait(self.kchrk)
    def exitit(self):
        keyboard.unhook_all()

Tkey = Tkeybrd()
keyboard.hook(Tkey.printit)
time.sleep(20)
Tkey.exitit()

在记事本上,我看到一个字符!我知道我可以使用keyboard.remap(src,dst) 但是remap不适用于Unicode字符。你知道吗


Tags: key代码importself键入timedef字符