从无头程序中获取蓝牙事件

时间:2011-10-21 16:24:51

标签: linux bluetooth

我有一台迷你linux PC(无头),我想用它作为蓝牙远程IP网关。

我对IP方面的问题没有任何问题,我只是对蓝牙方面有点迷茫。

如何从我的代码中获取蓝牙事件?它是基于设备的(意味着我只是open()正确的设备)还是有一些API?

基本上,我想要的是轮询遥控器上的按键,就是这样。

在伪代码中,这将是:

handle = open_bluetooth();
for event in poll(handle):
    do_something_with(event.key)

我有点不确定,因为我找到的大部分文档都是让远程操作像常规键盘,但是我想要无头(没有Xserver,没有TTY控制台,只有管理员用SSH)这个不是我想要的。

至于语言,我的控制软件是红宝石,但如果需要,我可以毫无困难地制作C扩展名。

1 个答案:

答案 0 :(得分:0)

我想到了怎么做。

实际上很简单,只需在角色设备上调用POSIX open,然后阅读struct input_event(一次多个,因为按键生成多个事件,你得到了syn,关键,有时是misc事件。)

有关结构的信息,请查看标题linux/input.h