我使用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. 如何在Python中使用箭头键导航菜单
- 3. 如何在selectInput中使用键盘上的箭头键 - rstudio
- 4. 的JavaScript - 如何使用箭头键
- 5. 在可可中使用箭头键?
- 6. 箭头键库导航
- 7. 哈弗使用箭头键
- 8. 使用箭头键的
- 9. 使用箭头键C++?
- 10. 如何在Ext JS中使用箭头键禁用Tabpanel导航?
- 11. 如何使关键箭头工作?
- 12. 如何使用箭头键在ASP.NET Gridview中上下移动
- 13. 如何使用箭头键在GridWorld中移动一个Bug
- 14. input()::使用退格键和箭头键
- 15. 使用方格中的箭头键
- 16. 箭头键
- 17. shift +箭头键
- 18. 如何禁用uib-timepicker箭头键?
- 19. 如何用箭头键移动矩形?
- 20. JQuery:键盘导航,使用箭头键触发链接
- 21. 如何使用箭头键禁用FF中的页面滚动
- 22. 箭头键在sqlplus中不起作用
- 23. 箭头键在Firefox中不起作用
- 24. 如何使用键盘箭头键操作jQuery数据表行
- 25. 使用缩略图库中的箭头键导航
- 26. 在Android Studio中使用num键盘作为箭头键
- 27. 如何使用箭头键去gridview中的不同文本框
- 28. 如何使用Auto Suggest Box中的向下箭头键?
- 29. 如何使用Flex 4.6 AS3中的箭头键导航屏幕?
- 30. 如何使用箭头键将JLabel移动到Swing中
能否请您发表意见类似的问题:http://stackoverflow.com/questions/21042089/python-sending-key-press-events-over-ssh。非常感谢。 – 2014-01-10 10:40:32