回答
雖然這是具體到X,你可以安裝xautomation包(apt-get install xautomation
在基於Debian的系統)和使用xte
模擬按鍵,例如:
from subprocess import Popen, PIPE
control_f4_sequence = '''keydown Control_L
key F4
keyup Control_L
'''
shift_a_sequence = '''keydown Shift_L
key A
keyup Shift_L
'''
def keypress(sequence):
p = Popen(['xte'], stdin=PIPE)
p.communicate(input=sequence)
keypress(shift_a_sequence)
keypress(control_f4_sequence)
如何將密鑰發送到shell? – user2988257 2016-08-30 08:58:35
Python的API到Linux uinput內核模塊...
Python的uinput是Python接口到Linux uinput kern el模塊,它允許將用戶空間設備驅動程序連接到內核。在實踐中,Python的uinput使得它死了簡單的創建虛擬操縱桿,鍵盤和鼠標進行編程產生任意輸入事件......
我可以用小寫字母排出嗎?請舉例! – karensantana 2013-04-11 22:22:45
鏈接已死 – 2017-04-06 10:56:26
如果您使用的是Windows,使用Sendkeys如果在Linux上,嘗試建議用於xsendkeys或pexpect的given here。
考慮python-uinput和evdev。的shift+a
與後者的例子:
from evdev import uinput, ecodes as e
with uinput.UInput() as ui:
ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1)
ui.write(e.EV_KEY, e.KEY_A, 1)
ui.syn()
我嘗試了類似的代碼,它是因爲我在系統日誌中看到一個新的虛擬輸入設備已創建但按鍵不出現在X中?任何特殊的事情都可以做,所以密鑰由X服務器接收? – akostadinov 2013-07-05 10:18:46
鏈接已死 – 2017-04-06 10:56:42
如果你打算使用它在Linux上,嘗試pyautogui庫。 對於多個鍵,你將需要使用熱鍵,例如:
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
對我來說,它的工作 - 在這裏看到: How to pass a keystroke (ALT+TAB) using Popen.communicate (on Linux)?
- 1. 與Python模擬按鍵動作的Linux
- 2. 使用pywin32模擬python中的按鍵
- 3. 使用Python for Linux模擬按鍵事件
- 4. 如何在Linux機器上模擬Python中的按鍵
- 5. 模擬Python 2.7中的按鍵事件
- 6. 使用jQuery模擬按鍵
- 7. 使用jQuery模擬按鍵
- 8. 使用bash模擬按鍵
- 9. 在Python中模擬長按鍵
- 10. 在Javascript中使用jquery模擬按鍵
- 11. 模擬按鍵
- 12. 模擬C中的按鍵#
- 13. 在Linux中模擬C中的F11鍵
- 14. 在Linux C控制檯應用程序中模擬按鍵
- 15. 模擬鍵盤在linux
- 16. 模擬Python按鍵控制遊戲
- 17. 如何在Python/PyQt中模擬真正的鍵盤按鍵?
- 18. 在WPF中模擬按鍵
- 19. 用python模擬Raspbian中的擊鍵
- 20. Flex - 用於模擬按鍵的按鈕
- 21. 模擬在Java中按住的按鍵
- 22. 按鍵模擬鍵盤按下「Shift」鍵
- 23. Flex:模擬按鍵
- 24. 模擬鍵盤按
- 25. 模擬鍵按c#
- 26. Android模擬按鍵
- 27. VB模擬按鍵
- 28. 模擬使用jQuery按Enter鍵
- 29. C++ win32使用DirectInput模擬按鍵
- 30. 如何使用windowhook來模擬按鍵
我可以問你爲什麼要這麼做?還有,在哪種環境下?命令行?圖形桌面? – 2011-04-19 09:13:10