arduino-bt-hid-proxy icon indicating copy to clipboard operation
arduino-bt-hid-proxy copied to clipboard

Problem at first pairing

Open Piero24 opened this issue 2 years ago • 3 comments

Hi, I have followed the instructions for the realization of the project but when I try to pair the pro micro to the keyboard nothing appears on the serial monitor (it remains completely empty).

The tests done through the board_qc file give positive results. Then as specified here I load the file on the board and I turn on my magic keyboard but nothing happens.

I thought it was the bluetooth key the problem so I bought the one recommended here but the problem remains.

This is the bluetooth dongle

Am I doing something wrong or is there a different problem?

Piero24 avatar Jul 12 '22 19:07 Piero24

Same here. Tried 3 different dongles and all of them where blinking or just glowing (so I think the communication with them worked). The last one was an CSR 4.0 as in the working dongle list.

The serial monitor was empty until I added 3 lines from the BTHID example code, to wait for the user to open a serial connection. Now I can see "Bluetooth HID started" but still nothing happens when I set my surface keyboard to pairing mode.

I tried older versions of USB Shield Library and it didn't help

Hely0n avatar Sep 14 '22 08:09 Hely0n

anyone made any progress on this?

Cypher121 avatar Feb 20 '24 20:02 Cypher121

Got it working, here's my steps if anyone needs this in the future:

  • Pairing messages only showed up in the serial monitor with #define ENABLE_UHS_DEBUGGING 1 set in the Arduino/libraries/USB_Host_Shield_2.0/settings.h. The resulting binary is too big for Pro Micro, so I went through BTHID.cpp and deleted some of the debugging messages for interrupts etc. until it fit.
  • The keyboard paired and I could see reports coming through on usbmon, but nothing happened. Solution: second PROGMEM definition seems to overwrite the first, reporting the keyboard as an Apple Magic Keyboard, breaking something with the reports. Deleting the second PROGMEM array didn't work, but copying the bytes from the first one to second one, so there's 2 nearly identical definitions did. (Did I mention I'm not that good at C :slightly_smiling_face:)

Cypher121 avatar Feb 21 '24 08:02 Cypher121