#linux #bluetooth
#linux #bluetooth
Вопрос:
У меня есть мини-ПК с Linux (без головы), и я хотел бы использовать его в качестве шлюза для удаленного доступа Bluetooth к IP.
У меня нет проблем с IP-стороной вещей, я просто немного в тумане для bluetooth-стороны вещей.
Как я могу получить события Bluetooth из своего кода? Основано ли оно на устройстве (это означало бы, что я просто open()
подходящее устройство) или есть какой-то API?
По сути, я хочу опросить нажатие клавиши на пульте дистанционного управления, и все.
В псевдокоде это будет что-то вроде:
handle = open_bluetooth();
for event in poll(handle):
do_something_with(event.key)
Я немного не уверен, потому что большая часть документации, которую я нахожу, заключается в том, чтобы сделать удаленный доступ похожим на обычную клавиатуру, но поскольку я хотел бы быть безголовым (без Xserver, без консоли TTY, только SSH для администратора), это не то, что я хочу.
Что касается языка, мое управляющее программное обеспечение на ruby, но у меня нет проблем с расширением C, если это необходимо.
Ответ №1:
Я понял, как это сделать.
На самом деле это довольно просто, просто вызовите POSIX open
на символьном устройстве, затем прочитайте struct input_event
(более одного за раз, поскольку нажатие клавиши генерирует более одного события, вы получаете syn, ключ, а иногда и разное событие).
Для получения информации о структуре загляните в заголовок linux/input.h
.