我对this MarlIO项目印象非常深刻,并希望使用Python实现类似的功能。但是,我让模拟器OpenEmu正常工作,但是,我不知道如何使用Python控制游戏。
难道只是发送几次击键问题?!伙计,在Mac上并不是那么简单。
In [41]: cmd1
Out[41]: '\nosascript -e \'tell application "System Events" to key code 48 using {command down}\' \n'
In [42]: cmd2
Out[42]: '\nosascript -e \'tell application "System Events" to keystroke "a"\' \n'
我想首先使用 COMMAND + TAB 切换到openEmu,然后按 a 跳转。但是,当我运行这两个命令时,它只切换到OpenEmu,看起来像按键 a 没有被发送。
然而,当我跑步时,cmd2'它是分开的,显然是有效的。 然后我测试了一个不同的应用程序 - 崇高,它似乎在那里工作。
有人能指出我正确的方向,我真的做错了OpenEmu吗?
答案 0 :(得分:1)
我无法找到使用AppleScript请求持续时间的方法,因此我最终使用Quartz event taps来解决问题,例如,您可以使用"开始按键,睡眠0.1秒,停止按键"。我是在Swift中完成的,但您应该可以使用ctype
模块在Python中完成。
另请注意,可能难以基于帧与仿真器进行同步。我raised that problem with the project maintainers,但由于反应比较冷,我转过身去。