-
-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Fixing incorrect keymap build when switching between multiple keymap jsons #12632
Conversation
Thanks for reporting this bug! I think we probably want to use |
@skullydazed I was thinking about doing it that way initially, but it looked 'cleaner' to have the Let me know if you'd like to me switch to using |
Yes, please make the change. It should have gone there in the first place but I think I had blinders on when I initially wrote this. |
@skullydazed Updated 👍 |
f1346df
to
782c856
Compare
Thanks for updating that. There's one more thing I should have looked at more closely the first time around- why have you moved the logic to the end of build_keyboard.mk? That will prevent setting certain features at the keymap level- |
@skullydazed The logic was moved to after the definition of |
782c856
to
a31ec1f
Compare
Rebased off develop. @skullydazed I moved the logic in build_keyboard.mk back to where it was originally, and instead moved the definitions of TARGET and KEYMAP_OUTPUT to before we include build_json.mk |
Thank you for your contribution! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#pragma weak
Apologies for not getting back to this sooner, the tab got lost in the shuffle of travelling and working. |
Broken by qmk#12632.
Switching between building one keymap.json in a keyboard to another keymap.json doesn't actually regenerate a new keymap.c, and the old keymap.json/keymap.c is used in the build.
Description
Repro:
Build a keymap based on a keymap.json:
Build another keymap.json for the same keyboard:
Notice that the keymap.c has not been changed, and the new build uses the wrong keymap.
Workaround: clean build
A clean build will use the correct keymap.c.
This PR aims to differentiate generated keymap.c files so that they are not named the same, and so shouldn't falsely satisfy the keymap.c make target of another keymap.
Types of Changes
Issues Fixed or Closed by This PR
Checklist