-
-
Notifications
You must be signed in to change notification settings - Fork 40.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GON NerD codebase refactor #7795
Conversation
IMO these should be |
To me, the Wasdat argument isn't really relevant, because it's a converter that works with multiple keyboards. The NerD 60 and NerD TKL are two completely different PCBs (though yes, the 60 uses a subset of the TKL matrix). I also don't see the point of introducing a |
Not really, just the WASD V2, which comes in TKL and fullsize flavours (ANSI and ISO), and also share the same common matrix. So to me it seems like a pretty similar situation, just that the MCU happens to be removable. The 60% portion of the two NerD PCBs look very closely related: |
We're debating semantics at this point, as I would still consider the WASD V2 TKL and V2 Fullsize to be separate boards. I went with |
I see what you mean, the Wasdat itself is the same board, just able to be plugged into two different sized boards that happen to have the same matrix and name. I realise "revision" is not the best term here, which is why I put it in quotes - this is just what QMK mainly uses subfolders for, but I don't see why they couldn't be used for other distinctions. Either way, ✔️ |
- remove firmware size impact numbers - add missing rules from AVR template
Previous notation was k<column><row>.
... instead of mapping through LAYOUT_tkl.
- use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting
Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL)
nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions.
nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions.
Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK.
The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column.
Make the default keymaps more complete, and add a readme for each keymap.
53c2107
to
bde61aa
Compare
All keymaps compile in Travis CI; error is because I force-pushed after a rebase. |
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
* config.h: use #pragma once include guard * gonnerd.h: use #pragma once include guard * rules.mk: templating and cleanup - remove firmware size impact numbers - add missing rules from AVR template * gonnerd.h: use four-space indent * gonnerd.h: change to k<row><column> notation Previous notation was k<column><row>. * gonnerd.h: change LAYOUT_60 macro to use direct matrix ... instead of mapping through LAYOUT_tkl. * info.json update - use four-space indent - update key labels to k<row><column> notation from k<column><row> - use one key per line formatting * split gonnerd codebase Splits the unified gonnerd codebase into: - gon/nerd60/ (NerD 60) - gon/nerdtkl/ (NerD TKL) * nerd60: cleanup rules.mk files nerd60/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no Both nerd60 keymaps used the above settings, so using that as the keyboard-level default. With this change, both the rules.mk files for the default and mauin keymaps are identical to the keyboard's rules.mk. The default keymap's rules.mk file has been deleted, while the mauin keymap's has been updated to match the AVR template, but without any settings changes or deletions. * nerdtkl: cleanup rules.mk files nerdtkl/rules.mk has the following changes: - NKRO_ENABLE flipped from no to yes - BACKLIGHT_ENABLE flipped from yes to no The default keymap's rules.mk used the above settings, so using that as the keyboard-level default so that keymaps/default/rules.mk can be deleted. The gam3cat keymap's rules.mk file has been updated to more closely match the AVR template and remove the firmware size impact notes, but without any settings changes or deletions. * differentiate codebases Remove the irrelevant code from each board's codebase, and differentiate the product names and descriptions. Also update the USB Device Product IDs to make them unique within QMK. * nerd60: minimize switch matrix The NerD 60 doesn't have any switches on Column 8, so there's no need to matrix scan that column. * add GON folder readme * refactor default keymaps Make the default keymaps more complete, and add a readme for each keymap. * add ChangeLog entry
Description
The current
gonnerd
codebase supports both the NerD 60 and the NerD TKL PCBs. This PR refactors the codebase into two, one for each PCB, inside agon
vendor directory.User keymaps affected:
gonnerd:mauin
gon/nerd60:mauin
gonnerd:gam3cat
gon/nerdtkl:gam3cat
Special care was taken to make sure neither of the user keymaps experienced behaviour changes as best as I could. Each major change was tested by recompiling each keymap and checking the SHA-1 hash of the compiled .hex files, with the following exceptions/caveats:
gon/nerdtkl:gam3cat
keymap (previouslygonnerd:gam3cat
) was not checked through this testing, because thekeymap.c
includesversion.h
, which means the hash changes every time you compile it.gon/nerdtkl:default
keymap (previouslygonnerd:tkl
) was checked withCONSOLE_ENABLE
set tono
, for the same reason as above.Types of Changes
Checklist