我的问题是,有没有办法用Applecript/python可靠地按住键上的键?
我几乎到处搜索这样的主题,然而,他们都没有削减它.我试图使用Python从Arduino读取串行信息,然后将这些信号作为按键传递.我已经看到如何使用applescript向系统事件发送"key down",如下面的代码所示:
(Python code)
def SendDown(key):
string = str(key)
cmd = """osascript -e 'tell application "System Events" to key down (key code """ + string + ")'"
os.system(cmd)
Run Code Online (Sandbox Code Playgroud)
此代码通常有效,但是,我想控制Google飞行模拟器.当我尝试这样做时,按键似乎是快速的方式,飞行模拟器或基本的谷歌地球地图移动我期望的分数.
他们使用这段代码的方式基本上如下(suedocode)
if (ArduinoMessage == "left"):
SendDown(leftKey) #leftKey has been set to 123 -- the code for the left arrow key
etc...
Run Code Online (Sandbox Code Playgroud)
从我的角度来看,我发送的按键事件基本上是一个快速键击,键不会被按下.我尝试直接在applescript中编写关键事件并取得了一点成功.我的代码看起来像这样:
tell application "System Events"
repeat 50 times
key down (key code 123)
end repeat
key up (key code 123)
end tell
Run Code Online (Sandbox Code Playgroud)
该代码移动了Google地球地图的次数超过了我所获得的数量,但需要花费很长时间才能让它移动少量(远远低于普通箭头键).然后我试着将这个AppleScript写入Python并且失去了所有改进.
所以我重申一下这个问题 - 有没有办法用Applecript/python可靠地按住一个键?
我能够很容易地在Windows上使用它,但是,我能够使用一个名为SendKeys的Windows库,专为此类应用程序而设计.
任何帮助,将不胜感激.
谢谢, …