-
-
Notifications
You must be signed in to change notification settings - Fork 37.4k
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
Candybar update #8335
Candybar update #8335
Conversation
Is this just to support showing default layouts on configurator? |
That is correct, however there are actually two board versions so this is probably the most correct way to handle the situation. |
I would disagree with that. It's identical boards, but two different entries in the repo, so it will work with the configurator. That's ... a hack if I ever heard one. (and a lot of my code is VERY hacky 😂 ) I do, however, understand the desire to have this working correctly. However, I feel that this this is the wrong way to go about this, and merging it sets a bad precedent. Ideally, this is something that should be fixed/improved on the configurator side, rather than here, as this basically artificially bloats the number of keyboards in the repo. Unfortunately, I don't have a good alternative to this, in the meanwhile. |
So where do we go from here? Fixing config to recognize default keymaps for every layout is well over my skill level. I promise if config gains the ability to do that, that I will roll Candybar back to the way it exists today. |
Terry, I'm not exactly sure what is the best corse of action here. Sory for not making it clear, byt my comment was more so it was "on the record", and as an explanation is why I I haven't put my approval on the PR. From a code standpoint, it looks fine. However, I think this is an issue that needs to be fixed on the configurator backen. And not by you specifically. |
I actually have a stale branch of Configurator that allows setting a default keymap for each layout macro. @yanfali initially wasn't enthused about the implementation, and the fact of the matter is that I have a bit of a hard time maintaining all the keymaps that are already there (about 700 of them). We do have an open issue of being able to make Configurator keymaps shareable via URL, in which case we could keep the system more or less as it is, and vendors could host their own Configurator keymap JSON files, and link them via the share URL. |
My $0.02 is that the long-term solution for this is to re-write that part of configurator so that it properly greps the keymaps from the keymap folder from the QMK Master branch. Forget the defaultish solution, have it properly parse the actual keymap people are uploading. Again, way over my skill level to implement. In the meantime, some solution would be appreciated even if it's a short-term fix. For some reason, it really bothers people to map their left-hand Candybar using the right-hand view even though it works perfectly. |
I actually just removed the keymap parsing from the API because it's so problematic and was not useful. Long term the idea is to move default keymaps to JSON and then configurator will be able to fetch them directly. I'll be providing a list of available JSON keymaps in the API to facilitate this. A major step in accomplishing that goal was recently merged and will be deployed shortly. |
So it seems the consensus is this PR won't be merged? How do I need to structure the code to meet whatever format you will allow to happen? One subproject, two layouts? |
This is probably something we need to solve on the QMK Configurator and API side of the equation. The QMK Firmware codebase is working as intended, so the problem isn't there – the limitation is Configurator being able to support only one keymap per keyboard revision at this time. edit: For an example: Only thing different is the value of |
Right, but this isn't that. These are separate PCBs, the matrix is different as is the keymap. Is there no possibility of this getting merged until the future improvement to configurator is ready? |
Oh okay, I missed that there are actually two different PCBs, rather than one PCB that supports both layouts. This is another HS60 situation (#7847) where a board that should have been submitted as more than one revision was not. Moving the build targets like this would potentially break keymap exports for anyone who uses Configurator, and may be a breaking change. I'll review this later tonight. I need to see what the impact is. |
Yeah, there's two variants that physically move the 10key. |
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.
K, this would definitely break Configurator exports for the CandyBar, and in a way that can't be coded around at this time.
I'm also not keen on all the code duplication – the boards
directories and the chconf.h
, halconf.h
and mcuconf.h
files are identical between both lefty
and righty
variants (which is to be expected). bootloader_defs.h
as well, and I'm not sure that that file is even required in this codebase at all, but I know next to nothing about ARM and ChibiOS, so I'm not sure here.
At the very least, the boards
files should be at candybar/boards/
and shared between versions, as well as the (ch|hal|mcu)conf.h
files, and bootloader_defs.h
if those files are needed too. Alas, I've forgotten how to implement that, so I can't give you any concrete suggestions there. 🙁
…_firmware into candybar_update af the commit.
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Requested changes made including moving STM32 stubs into project base directory - which may have to be revisited if we ever run a future revision of Candybar on a different MCU but it's fine for today. |
|
I believe this was the only change we made to the "base" file. |
There are mods in the |
As a FYI In this scenario, the boards folder is flat out not required since #8134. You can remove the files and |
Unless the current remap stuff is required... but considering the previous response I'd gather you're probably correct. |
Compiles correctly with Boards directory removed. |
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.
Could you also update the Lefty readme.md
with the same updates the Righty readme.md
is getting?
Just this last set of changes and I think we'll be good.
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Done. |
Thanks! |
* 'master' of https://github.com/qmk/qmk_firmware: (27 commits) Add Portuguese keymap and sendstring lookup tables (qmk#8390) Update link for Learn Plover google site (qmk#8410) [Keymap] ninjonas keymap updates (qmk#8373) Fix bootloader for Maypad (qmk#8411) Add decorators for determining keyboard and keymap based on current directory (qmk#8191) format code according to conventions [skip ci] Fix pressing two keys with the same keycode but different modifiers (qmk#2710) format code according to conventions [skip ci] Decouple mouse cursor and mouse wheel in accelerated mode (qmk#6685) [Keyboard] Add Wallaby (qmk#8398) [Keyboard] Abacus Keyboard ReMerge (qmk#8308) Restore getting_started_github.md doc Update Swedish keymap and add sendstring LUT (qmk#8365) Update Spanish keymap and sendstring LUT (qmk#8364) use qmk.path.normpath to locate the output file. [Keyboard] Candybar update (qmk#8335) Add new keymap with split shift and split backspace for bananas… (qmk#8395) Enable custom backlight driver for kmac (qmk#8397) Force "blank" issue template to end of list (qmk#8387) Fix darkmode (qmk#8393) ...
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Splits Candybar into two subprojects to allow config.qmk.fm to show both possible layouts.
Description
Types of Changes
Issues Fixed or Closed by This PR
Checklist