The c-simple-emu6502-cbm project supports a number of ESP32 platforms to provide a subset of Commodore C64 (and Vic-20, C128) emulation, and many currently include BLE keyboard support. Originally for CardKB only, now I have added BLE support for Commodore keyboards (20 to 25 pins) to the m5, T-Display-S3, and ESP32-8048S070-7inch ports/branches into the encapsulated BLE_commodore_keyboard_server Arduino sketch.
|BLE options: (a) Commodore keyboard (b) CardKB
No expense spared for these awesome graphics, seems retro eh?
|M5Stick-C with CardKB BLE connected to T-Display-S3
Actually we already had BLE CardKB support, and the protocol for the hard wired keyboard is exactly the same as sent over BLE (string of active C64 and C128 scan codes), it was just a little bit of further coding to make the choice between CardKB and hardwired keyboard. In fact, that code was already present for CardKB or hardwired keyboard in the M5 branch itself. The tiny bit of extra work was to duplicate that in the BLE keyboard server project. And voila! More options all the way around.
|Wired keyboards (a) Commodore (b) CardKB (c) Chrome Browser
While wireless does have its convenience, it does require careful timing to pair correctly. Typically if both the BLE client and server are powered or reset at the same moment, they should pair. A few or more keystrokes may be necessary to confirm pairing is complete. If it doesn't work, just reset and try again.
Happy C64 computing over BLE!