Chrysalis icon indicating copy to clipboard operation
Chrysalis copied to clipboard

Custom key labels

Open algernon opened this issue 3 years ago • 2 comments

(Forked off from #3)

We want to be able to set custom labels for keys - especially important for macros, dynamic macros, and tap-dance keys -, and store them on the device too. Ideally, we'd be able to set the full name, the hint, and the short name too.

algernon avatar Jul 03 '22 17:07 algernon

I originally planned to implement this similar to custom layer names: stored purely on the keyboard. However, I'm starting to feel that it'd be useful to store it in LocalStorage instead, so parts of the custom labels can be easily reused, and that it doesn't require space on the device itself.

Unlike layer names, this would require considerably more space, so would pretty much be exclusive to the Model100 and future boards with more storage than the 1k EEPROM usually found on AVR-based keyboards.

algernon avatar Jul 26 '22 19:07 algernon

I've been thinking about this recently, and I have a couple of new ideas. For now, I'd let the "store parts of this on the keyboard" idea go, and would tackle that at a later time, mostly because storing it on the keyboard would make it an exclusive Model100 feature, and we can do a whole lot of nice things on host-side stored custom labels.

With custom labels stored on the host side, in LocalStorage most likely, the whole thing would need to be built so that it supports a library of labels, so that one can have a Colemak label set, an Engram label set, and so on, and so forth. We also want to be able to export and import these.

The Preferences screen would offer these labels as part of the keyboard layout dropdown, grouped under "Local layouts".

Editing the labels would need its own screen, possibly built around the 104-key picker, with various Kaleidoscope features around it, grouped up nicely. Somewhat like the sidebar, except not on the sidebar. It would need to allow editing custom labels for custom keycodes, too.

algernon avatar Aug 09 '22 18:08 algernon