keyboardio / Chrysalis-Firmware-Bundle

Firmware sketches for boards supported by Chrysalis
GNU General Public License v2.0
32 stars 25 forks source link

Add the Steno plugin to the Model100 sketch #22

Closed algernon closed 1 year ago

algernon commented 1 year ago

The Steno plugin is something interesting, which would be nice to have in the default firmware. Not enabled, of course, just there, available, should someone want to play with it.

Chrysalis could ship with a Steno layer in its library, too.

numist commented 1 year ago

What would it take to do this? Add #include "Kaleidoscope-Steno.h" and a keymap?

Something like this ought to do (adapted to M100 from the SOFTHRUF/Splitography sketch):

  [STENO] =  KEYMAP_STACKED
  (___, ___,   ___,   ___,   ___,   ___,    ___,
   ___, S(N1), S(N2), S(N3), S(N4), S(N5),  ___,
   ___, S(S1), S(TL), S(PL), S(HL), S(ST1),
   ___, S(S2), S(KL), S(WL), S(RL), S(ST2), ___,
   ___, S(A), S(O), ___,
   ___,

   ___,  ___,    ___,   ___,   ___,   ___,   ___,
   ___,  S(N6),  S(N7), S(N8), S(N9), S(NA), S(NB),
         S(ST3), S(FR), S(PR), S(LR), S(TR), S(DR),
   ___,  S(ST4), S(RR), S(BR), S(GR), S(SR), S(ZR),
   ___, S(E), S(U), ___,
   ___),
algernon commented 1 year ago

The idea was to include the plugin only, no keymap, the keymap would be in Chrysalis, importable wherever. We wouldn't include the keymap, because that'd require to make it accessible from the base layer, otherwise it's rather pointless.

So:

#include "Kaleidoscope-Steno.h"

KALEIDOSCOPE_INIT_PLUGINS(/* long list of plugins */, GeminiPR);