A firmware developed for s-chorder.
This is heavily based off of nopnop2002's esp-idf-st7789, with much of the keyboard/mouse bits borrowed from asterics's ESP32 keyboard project. It's a bit of a work in progress. Pull requests welcome!
Features:
- Connects to the compile-time configured wifi upon boot.
- Boots up in "note taking mode," where one can submit notes to the compile-time configured URL using an enter key press.
- Pressing both
N
andC
(near thumb and centre thumb) while hittingR
(ring) puts it into BLE keyboard mode. Fairly comprehensive chord set including control characters. chords.md contains a reference. - Pressing both
N
andC
while hittingM
(middle) puts it into BLE Mouse mode. Vim-style movement commands apply. - Pressing
N
andC
while hittingI
(index) puts it into deep sleep. Kind of unnecessary, though—the thing times out and drops into deep sleep after some amount of inactivity.
- Some amount of code cleanup is required. This is a proof of concept which is good enough for my purposes at this point. Push me to do it, if you start using this.
- Mouse mode is annoying. It seems almost natural, but isn't quite. Plus, it doesn't support dragging motions, nor mouse buttons beyond the first one.
- Deep sleep mode isn't perfect. Mine drains its battery over a couple of days. It's supposed to be possible to get down to 5uA, which should be lengthy, but clearly that's not the case yet.
- Vibration/alert mode could be used to warn when one is making a suboptimal chord transition.
- E.g. going from an A (
C+IMR
) to an E (IMR
) can be done without releasingIMR
to cause the A, and then releasing e.g.I
while holdingMR
and re-pressing and releasingI
to get the E. - The fingers of
MR
don't need to move during this at all, and if one is going for an S (MRP
) afterwards, one can continue this trick.
- E.g. going from an A (
- Arguably, one should be able to make use of the ESP32's non-BLE bluetooth keyboard mode. They're quite distinct protocols.
- Offline storage for note-taking, for use while away from WiFi? "Keep re-submitting them until 200 is returned?"