linux - funciona - ubuntu 18.04 no reconoce bluetooth
¿Es posible hacer que una computadora se comporte como un dispositivo Bluetooth HID? (5)
De hecho, es totalmente posible con Linux y Bluez. Consulte: https://github.com/lkundrak/virtkbd/blob/master/btkbdd.pod
¿Es posible hacer que una computadora se comporte como un dispositivo Bluetooth HID? Es decir, dado que una máquina local con un teclado USB estándar enchufado, otros dispositivos podrían descubrir esta máquina y usarla como un teclado Bluetooth.
Me gustaría crear una aplicación para Linux o OS X (o usar una ya existente, aunque no he encontrado ninguna) que pueda comportarse como se describe anteriormente, pero no estoy seguro de por dónde empezar, o si es posible.
Asi que:
- ¿Es posible lo que estoy describiendo?
- ¿Hay alguna aplicación existente que haga lo que describo?
- Si no existe ninguna aplicación (supongo que no), ¿existen bibliotecas o enlaces de bluetooth que ayuden? (Me siento bastante cómodo usando la mayoría de los idiomas populares de hoy, así que prefiero la biblioteca más adecuada para la tarea, siempre que esté disponible en Linux o OS X.)
- A falta de cualquiera de los anteriores, la especificación de bluetooth parece bastante densa. ¿Hay guías específicas u otros puntos de partida aplicables al problema en cuestión que pueda leer?
Me doy cuenta de que tal aplicación probablemente necesitaría robar la entrada normal del teclado, posiblemente proporcionando alguna tecla de acceso rápido de tipo KVM para cambiar entre proporcionar la entrada al sistema operativo host y enviar la entrada a través del bluetooth al dispositivo conectado, pero estoy considerando Ese problema está fuera del alcance de esta pregunta.
Definitivamente es posible en Linux. Hace algún tiempo encontré este proyecto:
http://nohands.sourceforge.net/index.html
Emulan un auricular completo con controles de audio y teclado en la pila de Bluetooth de Linux. Si pueden emular algo así, probablemente podrías emular algo más simple como un teclado.
Es posible, sin embargo, no creo que pueda explicarlo muy bien y no sé toda la respuesta. Un dispositivo BT HID funciona como un servidor y espera a que lleguen las conexiones. En Linux, utilizando la pila bluez, primero tendría que anunciar el servicio HID para que otros dispositivos lo vean. Creo que haces eso usando los archivos de encabezado sdp.h y sdp-lib.h (el segundo encabezado puede llamarse otra cosa, estoy en una computadora con Windows y no puedo verificar). Por lo tanto, tendría que agregar el registro del servicio HID a su computadora para que otros dispositivos lo vean. Tendría que crear un programa que primero agregue este servicio al registro, luego espere a que se conecten otros dispositivos, luego maneje el proceso de emparejamiento, Bluez podría manejar esto por usted, o podría tener que hacer algunas cosas con él. No estoy muy seguro. También debe leer la especificación HID de Bluetooth que se encuentra en el sitio http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx . Este documento contiene los detalles del registro SDP relevante para HID. Además, el libro Bluetooth Essentials para programadores es bastante bueno para introducirlo en la programación de Bluetooth.
Me gustaría haber dado una respuesta más concisa, con más detalles, pero eso es todo lo que sé de ATM. También estoy intentando hacer algo similar, pero es muy difícil encontrar tiempo libre;) Tampoco estoy en mi caja de Linux y no puedo verificar todos los detalles. Si todavía estás interesado, avísame e intentaré ampliar mi respuesta.
No sé si esto es útil, ni si todavía está vivo y en funcionamiento, pero quizás podría intentar este enlace .
Otro que podría o no ser útil de alguna manera es remuco , pero no sé si están usando un perfil HID de Bluetooth.