This is an old revision of the document!


ToDo and Bug list

Partial Fix

Problem: On the XIAO nRF52840, if ble is on and not bonded, then the blue LED is flashing. If you then turn off the software radio, stop advertising, or you try and put the board into its lowest power state by issuing sd_power_system_off(), the blue light either keeps blinking or goes solidly on. Bluetooth is not advertising or the board is in a very low power state, but the blue led stays on. There should be a way to fix this!

Partial Fix

By setting Bluefruit.autoConnLed(false) when starting advertising, the blue led does not blink at all. I don't like loosing this indicator, but better it is not there than have it give missinformation. So, I now set this to false and blink the blue led a few times at the start of advertising.

2025/05/11 16:07 · priestdo

DONE 2025-03-20 A modifier latch chord has been added that saves Shift, Control, Alt state and continues to send them with any keys sent until either pressed again or keyboard reset chord is pressed. Please note this is different from Caps Lock, which is implemented on the host and does not send shifted number keys. This will send shifted number keys if shift is latched.

Implement Modifier latching for chords. So that Alt, Shift, and Control can be sent with every subsequent key without having to be pressed over and over.

2025/03/24 18:02 · priestdo

DONE 2025-03-24 Both the Bluefruit Feather and the ESP32-S3 feather appear to be using level 2 security by default. So AES-CMAC after unauthenticated pairing with encryption. This would still be open to a “man in the middle” attack at the time of pairing. But does mean keys should not be sent in the clear once paired. If you are concerned, don't pair in a public place.

The chip on the bluefruit feather supports AES encription of the Bluetooth signal. I do not see any mention of it on the adafruit pages. I would like to discover how to enable this so the BLE keyboard is a little more secure. It is possible it is already enabled, but I doubt it.

2025/02/14 19:54 · priestdo

DONE 2025-03-17 See FeatherChorder

I'm thinking of the Adafruit KB2040 - RP2040 Kee Boar Driver or something like it.

Or, create one chorder that can do either USB or BLE with something like Adafruit Feather nRF52840 Express which can do both.

2025/02/14 18:07 · priestdo

Partial Fix Shift down has been implimented on the FeatherChorder, both USB & BLE. This chord send a shift down event until the next keyevent is sent, which means that shift is held down for any mouse events until the next chord is sent. This could be implimented for Alt and Control the same way if needed.

add the ability to have dedicated modifier keys (like a conventional shift or Control) that just send that code along to the host.

2023/02/21 20:22

Add a chord that stops all keybord signals being sent to the host until it is pressed again. Usefull for putting on your coat or other times when you don't want stray keys sent.

Currently I (Greg) do this with a seporate switch that disconnects the ground line to the chorder's keys. An On/Off chord would eliminate this switch. However it would also introduce some uncertanty unless perhaps it was combined with the an LED signal. Perhaps slow flash? Or mabey one signal for entry into “Off state” and a different one for exit from “Off state”?
2023/02/09 23:33

Fixed

Some multi-key chords when repeating give an incorrect final character, for example, a string of “=” will end with an “e” as in

 ==================================e 

The incorrect character corrisponds to the unmodified chord.

2023/02/09 23:33

Look into making the spiffchorder a composit device and add functionality to support a mini-trackball

2023/02/09 23:33

Fixed

Currently Macros don't clear the state of number mode, this needs to be fixed. The “work around” is to hit the inner thumb to generate the space after the macro as this then clears the number mode. Not a long term solution.

2023/02/09 23:33

Add support for the 3 optional LEDs, showing the internal state of the SpiffChorder.

2023/02/21 20:22