キーボードの特定のキーが押されたかどうかを検出できる単純なプログラムをPythonで作成しようとしていました。応答として、コードでキーボードの特定のキーを押したいと思います。空白のメモ帳ドキュメントで W、A、S、D キーを押して、このコードをテストしました。結果が wr、ar、sr、および dr のようになることを期待していました。しかし、実際に得られた結果は、rw、ra、rs、rd でした。誰かがこれについて私を助けてくれますか?
import pythoncom, pyHook
import win32api, win32con
import time
import sys
import win32com.client
def OnKeyboardEvent(event):
if(event.Key=='A' or event.Key=='W' or event.Key=='D' or event.Key=='S'):
#key down for the R button
win32api.keybd_event(0x52,0,2,0)
#key up for the R button
win32api.keybd_event(0x52,0,0,0)
# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()