1

我正在尝试模拟从 python 脚本到串行终端的击键。显然输入字符“a”和发送按键事件是两件不同的事情。

我尝试采用本指南,但似乎没有用: https ://learn.adafruit.com/introducing-bluefruit-ez-key-diy-bluetooth-hid-keyboard/sending-keys-via-serial

此外,我尝试直接读取串行端口,似乎按键“a”发出“O\x00”,这让我认为如果我只是发送“\x4F\x00”这将起作用。也许我遇到了时间问题......

import serial
import time

def writeChar(port, char, bVerify = True):
  port.flush()
  port.write("\xFD")
  if (char.isupper()):
    # Shift left
    write("\x02")
  else:
   port.write("\x00")
   port.write("\x00")
   port.write(Keys[char.upper()])
   port.write("\x00")
   port.write("\x00")
   port.write("\x00")
   port.write("\x00")
   port.write("\x00")

   if (char != "KEY_NONE"):
     time.sleep(.1)
     writeChar(port, "KEY_NONE", False)

   if (bVerify):
     inChar = port.read()

def writeChar2(port, char):
  port.flush()
  port.write(Keys2[char]+'\x00')

这些尝试似乎都没有奏效。键['A'] = \x04。Keys2['a'] = \x4F

对我来说最令人惊讶的是,我找不到任何人已经这样做了。似乎从脚本自动击键/命令将非常有用。

我会错过什么?

4

0 回答 0