Keychron / qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
https://qmk.fm
GNU General Public License v2.0
653 stars 826 forks source link

CKBT51 documentation #252

Open 4z3 opened 2 months ago

4z3 commented 2 months ago

Issue Description

I'm trying to make raw_hid_receive() work for a bluetooth connected K13 Pro. Unfortunately this doesn't seem straight forward.

When looking at keyboards/keychron/bluetooth/ckbt51.c it appears that packets get read from and written to WT_DRIVER, which seems to do some pre- and postprocessing to the packets. In particular it doesn't seem possible to send arbitrary packets to ckbt51.c.

E.g. when sending following report to the device:

30 17 FF 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

it doesn't arrive at all at ckbt51_event_handler().

Is there any documentation or source code available to study? My cursory searches didn't bring up anything relevant related to CKBT51.

Please advise. :)

lokher commented 2 months ago

May I know what were you trying to do?

4z3 commented 2 months ago

I want bidirectional communication between QMK and the host, i.e. I want the host to be able to configure and query the keyboard.This already works when connected via USB, but I'd also like to do that via bluetooth. The specifics aren't too important, but for example settings LEDs or query battery state.

Basically I'd like to have a fully functioning rawhid interface.

lokher commented 2 months ago

CKBT51 doesn't have rawhid interface over bluetooth.

4z3 commented 2 months ago

I do realize that it doesn't provide a rawhid interface over bluetooth, that's why I asked whether there is any documentation available. I was hoping that rawhid could be simulated with an appropriate host component.