我使用python 2.7和代碼ssh客戶端paramiko庫,我用myhost.channel.send(chr(keycode))
發送每個鍵碼到服務器。但它只適用於1字節的鍵碼。我想發送其他多字節鍵碼,如箭頭鍵。我怎樣才能做到這一點?請幫幫我。如何發送箭頭鍵在python中使用paramiko庫?
3
A
回答
3
像Windows或MacOS這樣的GUI可以用'keycodes'標識鍵,但是SSH管道只是傳輸字節而不是鍵碼。
假設你的服務器上運行ssh的程序是交互式的(也就是期望一個人正在使用它),你需要找出它希望接收的字節模式。當你打開你的頻道時,確保你打電話給.get_pty()
並給它一個終端參數(默認,vt100
,非常安全)。然後,您需要閱讀VT100終端的文檔,以瞭解按下各種按鍵時發送的字節序列。我建議閱讀Xterm Control Sequences文檔(Xterm並非嚴格意義上的vt100仿真器,但其文檔非常齊全),並且不會與原始VT100終端的硬件細節混淆。請注意,在該文檔中,「CSI」實際上意味着Python字符串'\e['
。
例如,Xterm控制序列文檔中提到箭頭鍵爲「CSI A」,下「CSI B」爲下,「CSI C」爲右,「CSI D」爲左。在Python,看起來像:
up = '\e[A'
down = '\e[B'
right = '\e[C'
left = '\e[D'
相關問題
- 1. 如何使用Net :: Telnet模塊在Perl中發送箭頭鍵?
- 2. 如何在WatiN測試中發送箭頭鍵?
- 3. 如何在python中使用paramiko發送控制信號?
- 4. 如何在Python中使用箭頭鍵導航菜單
- 5. 如何使用箭頭鍵jQuery中
- 6. 如何在selectInput中使用鍵盤上的箭頭鍵 - rstudio
- 7. 如何使用箭頭鍵導航tabcontrol?
- 8. 的JavaScript - 如何使用箭頭鍵
- 9. 如何使用惡夢按箭頭鍵?
- 10. 在可可中使用箭頭鍵?
- 11. 如何覆蓋箭頭鍵,如右箭頭鍵
- 12. 箭頭鍵庫導航
- 13. 導航使用箭頭鍵
- 14. 使用箭頭鍵的
- 15. 使用箭頭鍵C++?
- 16. 哈弗使用箭頭鍵
- 17. 如何在Ext JS中使用箭頭鍵禁用Tabpanel導航?
- 18. 如何發送LeftShift和向上箭頭或向下箭頭在C#
- 19. 如何發送輸入到一個命令在python中使用paramiko?
- 20. Applescript可以通過按鍵發送箭頭鍵嗎?
- 21. 箭頭鍵不適用於Enthought python
- 22. 如何使關鍵箭頭工作?
- 23. 如何使用箭頭鍵在GridWorld中移動一個Bug
- 24. 如何在firefox中使用selenium2library按下右箭頭鍵按下
- 25. 如何使用箭頭鍵在ASP.NET Gridview中上下移動
- 26. Java:使用箭頭鍵擊鍵
- 27. input()::使用退格鍵和箭頭鍵
- 28. 發送箭頭鍵輸入到java中的子進程
- 29. 使用jquery箭頭鍵導航表中
- 30. 使用方格中的箭頭鍵
能否請您發表意見類似的問題:http://stackoverflow.com/questions/21042089/python-sending-key-press-events-over-ssh。非常感謝。 – 2014-01-10 10:40:32