如何使用Popen.communicate(在Linux上)传递击键(ALT + TAB)?
我在Raspberry Pi上以全屏模式打开了两个图像(使用ristretto图像查看器)。当满足某些条件时,我需要通过ALT +
TAB按键组合来显示另一个。我正在尝试使用Popen.communicate,但是我不知道如何通过ALT + TAB这样的组合键。有人有什么想法吗?
我需要的是下面的内容(用工作代码替换“ ALT + TAB”):
s = Popen(['ristretto', '-f', 'my.gif' ,'&'],stdin=PIPE)
if my_condition:
s.communicate("ALT+TAB")
我听说过SendKeys软件包,但仅适用于Windows。
谢谢,米哈尔
-
您可能无法完全按照您的问题说-
使用Popen传递击键。您可以将字节发送到stdin
已打开的进程中,但是几乎可以肯定没有在其中寻找它们。键盘事件与即将发生的数据不同stdin
。该pyautogui库库可以用于此目的,但是。安装完成后,您可以使用完成启动查看器
Popen
,然后使用pyautogui.hotkey('alt', 'tab')
将alt +
tab发送到前台应用程序。您可能需要增加一点延迟,以确保ristretto在发送密钥之前已完成启动。有关如何使用它的更多详细信息,请参见pyautogui的键盘文档。