Macbook OpenEmu Python发送按键

2024-10-01 09:35:50 发布

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

我对thisMarlIO项目印象深刻,希望用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'

我想首先使用命令+选项卡切换到openEmu,然后点击a跳转。但是,当我运行这两个命令时,它只切换到OpenEmu,看起来按键a没有被发送。在

enter image description here

然而,当我单独运行“cmd2”时,它显然起作用了。 然后我用另一个应用程序——sublime,对它进行了测试,它似乎在那里工作。在

enter image description here

有人能告诉我我在OpenEmu上到底做错了什么吗?在


Tags: to项目in命令applicationouteventssystem
1条回答
网友
1楼 · 发布于 2024-10-01 09:35:50

几个月前我做过类似的事。按键被发送。但是,系统事件击键几乎不会持续任何时间,因此模拟器的输入机制不会拾取它们。在

我找不到一种方法来请求AppleScript的持续时间,所以我最终用Quartz event taps来解决这个问题,它允许你做,例如,“开始按键,睡眠0.1s,停止按键”。我是用Swift编写的,但是您应该能够用Python中的ctype模块来完成。在

还要注意,在帧基础上与模拟器同步可能很困难。我raised that problem with the project maintainers,但由于反应相对冷淡,我转身离开了。在

相关问题 更多 >