Python vncdotool 发送特殊字符
Python vncdotool send special characters
我正在使用 vncdotool。当我测试下面的代码时, : 变成了 ; ,我无法弄清楚为什么会这样。此外,当我尝试发送 ~ 时,它会改为发送 `。任何帮助,将不胜感激。谢谢。
import vncdotool
from vncdotool import api
def sendKeys(client, keys):
for k in keys:
client.keyPress(k)
hostport = 'XXX.XXX.XXX.XXX::XXXX'
password = 'XXXXXXXXX'
client = api.connect(hostport, password)
command = 'add-apt-repository ppa:nilarimogard/webupd8'
sendKeys(client, command)
command = 'cd ~/myfolder/'
sendKeys(client, command)
我明白了。我不得不使用 shift 来发送这些字符。希望这对某人有所帮助。
def sendSpecialKeys(client, keys):
client.keyDown('shift')
sendKeys(client, keys)
client.keyUp('shift')
特殊字符一直是 vncdotool 中的一个持续问题。快速而肮脏的解决方案是使用 --force-caps
。交换机发送 <shift>-char
而不是普通的 char
。从 API 你可以做类似于
的事情
client = api.connect()
client.factory.force_caps = True
这并不理想,但如果不深入调查为什么某些服务器没有按预期处理特殊字符,似乎就可以完成工作。
我正在使用 vncdotool。当我测试下面的代码时, : 变成了 ; ,我无法弄清楚为什么会这样。此外,当我尝试发送 ~ 时,它会改为发送 `。任何帮助,将不胜感激。谢谢。
import vncdotool
from vncdotool import api
def sendKeys(client, keys):
for k in keys:
client.keyPress(k)
hostport = 'XXX.XXX.XXX.XXX::XXXX'
password = 'XXXXXXXXX'
client = api.connect(hostport, password)
command = 'add-apt-repository ppa:nilarimogard/webupd8'
sendKeys(client, command)
command = 'cd ~/myfolder/'
sendKeys(client, command)
我明白了。我不得不使用 shift 来发送这些字符。希望这对某人有所帮助。
def sendSpecialKeys(client, keys):
client.keyDown('shift')
sendKeys(client, keys)
client.keyUp('shift')
特殊字符一直是 vncdotool 中的一个持续问题。快速而肮脏的解决方案是使用 --force-caps
。交换机发送 <shift>-char
而不是普通的 char
。从 API 你可以做类似于
client = api.connect()
client.factory.force_caps = True
这并不理想,但如果不深入调查为什么某些服务器没有按预期处理特殊字符,似乎就可以完成工作。