我正在尝试使用蓝牙连接 Logitech 键盘。我无法通过 GUI 实现此功能,因此我使用控制台按照以下方法操作:http://devasive.blogspot.be/2012/11/ubuntu-1204-persistent-bluetooth-pairing.html
它添加设备并设置受信任标志。然后它使用
sudo bluez-test-input connect XX:XX:XX:XX:XX:XX
但是这个 python 程序失败了:
Traceback (most recent call last):
File "/usr/bin/bluez-test-input", line 42, in <module> input.Connect()
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__ return self._proxy_method(*args, **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__ **keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method Connect" with signature "" on interface "org.bluez.Input" doesn't exist
似乎输入没有 Connect 方法。我从文件中提取了一段 Python 代码,如下所示:
input = dbus.Interface(bus.get_object("org.bluez", device),
"org.bluez.Input")
if args[0] == "connect":
input.Connect()
有没有办法查看该输入对象上的 org.bluez.Input 接口是什么样子的。bluez 网站和有关该主题的所有其他帖子都没有什么帮助。bluez 版本 4.101 的文档指定 org.bluez.Input 类型的对象具有 connect 方法。我检查了配置文件中是否也未禁用 Input 插件。升级到 bluez 5 会对我有帮助吗?
编辑:
在我的笔记本电脑上,安装了相同版本的 ubuntu,但有一个内置蓝牙模块,它运行正常。我认为这可能是问题所在:
hciconfig -a hci0
...
Service Classes: Object Transfer, Audio, Telephony
...
我看不到输入服务类。需要通过键盘和鼠标进行输入。这是否意味着蓝牙适配器不支持此功能,还是其他原因?
亲切的问候,
羅爾·斯托姆斯