It looks like something isn't right with the names of the Key variant classes (e.g. Key::Keyboard). I still think those names are helpful, but they appear to result in linker errors if any of their functions are defined in a separate *.cpp file (which means that all functions must be inlined, which may be best anyway, but…), so it looks like I'll have to rename them. Key::Keyboard will become KeyboardKey, et cetera. This means that the existing LayerKey class needs to be renamed (no big deal – I wasn't happy with that name, anyway, and it probably should just be defined in the Keymap file, anyway, and any functions that use it can be private.
It looks like something isn't right with the names of the
Key
variant classes (e.g.Key::Keyboard
). I still think those names are helpful, but they appear to result in linker errors if any of their functions are defined in a separate *.cpp file (which means that all functions must be inlined, which may be best anyway, but…), so it looks like I'll have to rename them.Key::Keyboard
will becomeKeyboardKey
, et cetera. This means that the existingLayerKey
class needs to be renamed (no big deal – I wasn't happy with that name, anyway, and it probably should just be defined in the Keymap file, anyway, and any functions that use it can be private.