BLE keyboard recognizing wrong keypresses

I got a cheap BLE macro keypad to try out as a sort of remote and have come really far, but I’ve run into a weird problem right at the end. I first wanted to use bluetooth proxy, but that doesn’t seem to work, so I’ve gone the route were I try to connect it to a single esphome device. I’ve managed to do that, but the esphome device is picking up different keystrokes from those that I’ve set up and each one is doubled (so two keys are ‘M’, 2 are ‘N’, and so forth). Because they are doubled, I can’t use the keypad at all sadly. It also takes many tries in the beginning for it to connect (but after that it’ll easily reconnect)

I will describe my proces for a bit:

I used information from this topic with the package from @koying.
I first connected the device to my PC to figure out the MAC and then added the connection information to an existing device. One small bit I had to add was the following for the battery sensor.

  - platform: ble_client_hid
    ble_client_hid_id: ble_client_hid_1
    name: "Battery"
    type: "battery"

It wouldn’t compile without the type keyword. (I’ve also just compiled it without the sensor, so I’m sure this isn’t the cause of the issue).

As described, it took a long time for it to connect, throwing errors left and right (can’t bring them back now, but I remember one being disconnect reason 22) and then suddenly worked.

Sadly, all the keystrokes were ‘unknown’. I didn’t realize I had to program the device first. I finally found GitHub - kriomant/ch57x-keyboard-tool: Utility for programming ch57x small keyboard and programmed it with that (using an older version, the latest appears to be broken). Just simply mapped 1,2,3,4,5,6,7,8,9 to start testing.

I then connected it via bluetooth to my PC and it shows the right keypresses, yay!

And then finally I reconnected it to the esphome and then sadly it shows different values form the ones I set up and they are doubled every key. SO they are [M, M, N, N, O, O, P, P, P] (yes the last one appears to be tripled on the knob).

Anyone has any clue to what is going one here?

keyboard-6-1