我在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 ...
谢谢,Michal
答案 0 :(得分:1)
您可能无法完全按照您的问题所说 - 使用Popen传递击键。您可以将字节发送到您打开的进程的stdin
,但几乎可以肯定它并没有找到它们。键盘事件与stdin
上的数据不同。
然而,pyautogui library库可能对此有用。安装完成后,您可以使用Popen
启动查看器,然后再使用
pyautogui.hotkey('alt', 'tab')
将alt + tab发送到前台应用程序。您可能需要添加一个短暂的延迟,以确保在发送密钥之前ristretto已完成启动。有关如何使用它的详细信息,请参阅pyautogui's keyboard documentation。