keyboardio / Model01-Firmware

The "standard" Keyboardio Model 01 Firmware sketch.
GNU General Public License v3.0
172 stars 302 forks source link

Layout refactoring #28

Closed andrewgdotcom closed 6 years ago

andrewgdotcom commented 7 years ago

Factor out keymap layers into separate files to aid mixing and matching customisations

andrewgdotcom commented 7 years ago

Re #19. This change allows layers to be distributed as individual include files and marshalled into a layer stack usimg a comparatively simple config file.

obra commented 7 years ago

Understood. I want to think carefully about this, as it's going to affect the docs. I suspect we may want to end up with two "standard" firmware codebases. One that matches, as closely as possible, what we ship on the hardware and one that's optimized for messing around.

On Wed, Oct 25, 2017 at 1:06 PM, Andrew Gallagher notifications@github.com wrote:

Re #19 https://github.com/keyboardio/Model01-Firmware/issues/19. This change allows layers to be distributed as individual include files and marshalled into a layer stack usimg a comparatively simple config file.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keyboardio/Model01-Firmware/pull/28#issuecomment-339454588, or mute the thread https://github.com/notifications/unsubscribe-auth/AACxaF_5hDjTg6sTeIu-zSMy_eRrUBh9ks5sv5S1gaJpZM4QGXX9 .

algernon commented 7 years ago

I second the two firmware idea - we could perhaps include some extra stuff in the second that makes messing around easier (thinking about Focus & EEPROM-Keymap here). O:)

andrewgdotcom commented 6 years ago

Considering that @obra has already expanded the sketch to include optional layer definitions, is this worth revisiting? At the very least I think we should put layouts and module definitions in separate files...

obra commented 6 years ago

Yes, it's 100% worth reviewing and improving.

I do think that -some- layouts should be in the default sketch (QWERTY and the user's custom sketch), since that's 99% of what most folks will ever look at. But I'd love to improve things for everybody else, too. ᐧ

On Tue, Sep 25, 2018 at 8:46 AM Andrew Gallagher notifications@github.com wrote:

Considering that @obra https://github.com/obra has already expanded the sketch to include optional layer definitions, is this worth revisiting? At the very least I think we should put layouts and module definitions in separate files...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/keyboardio/Model01-Firmware/pull/28#issuecomment-424393688, or mute the thread https://github.com/notifications/unsubscribe-auth/AACxaBxkMpdzosEj3UsZYTWIn195FOipks5uek_JgaJpZM4QGXX9 .

andrewgdotcom commented 6 years ago

I'm happy to trash this PR and start again, if there is an agreed plan. The first step (and most important for me) would be to break out the current layout definitions from master into a standalone but monolithic keymaps.h file, leaving the rest of the logic untouched. We can come back to the question of which keymaps should be included (and how) in another ticket. Would this be OK?

algernon commented 6 years ago

I like the idea of a separate keymaps.h file, makes it easier to navigate the main sketch too.

andrewgdotcom commented 6 years ago

OK, I'll close this because the branch has diverged too much and open another issue. Will link here.