-
Notifications
You must be signed in to change notification settings - Fork 196
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
[Feature request] Add Caps Word as a Vial feature. #302
Comments
Thanks for filing this issue, I really appreciate the amount of research you've done already here and here's to answer some questions and comment on the other pieces:
Generally Vial policy is to enable every feature by default and then it can be disabled for keyboards in the repo that run out of memory
That's not really required, people can refer to QMK docs.
This isn't in place yet, but it really should be - I'm thinking we should stuff bits in the
There's no need to put the new keycode into v5 in this case, but keep in mind that v5 firmware should still work (i.e. vial gui shouldn't throw exceptions when a v5 keyboard is connected). There's unfortunately a lot of nastiness in the keycode stuff as keycodes were implemented as a global originally but now we of course understand they belong to the keyboard so there's a ton of hacks that attempt to dynamically keep these global arrays up to date based on which keyboard version is connected & what features it has (like number of layers or tapdances). Ideally eventually it should be refactored, but it's of course not a burden I'd put on contributors so if you can get that feature in place in a way that doesn't make the rest of the gui keycode mess collapse on itself then that's just fine. |
Overview
Caps Word has been available as a core QMK feature since 2022 and available in Oryx since 2023. It is a popular feature, especially for home row mods users to limit the need to hold Shift.
It would be great for Vial's users to expose Caps Word in the Quantum tab. I am interested to contribute PRs to making that happen, but I need help on clarifying the right approach. That's what I hope to discuss in this issue. Or if not here, let me know where better to discuss this.
Outline
Here is an outline of how I think a "Caps Word" button could be added in Vial:
In vial-kb/vial-gui, define the Caps Word keycode
"CW_TOGG"
(=0x7C73
in Vial's v6 keycodes) in src/main/python/keycodes/.Add
"CW_TOGG"
toKEYCODES_QUANTUM
in src/main/python/keycodes/keycodes.py. Then (?), Caps Word will appear as an available button under Vial's Quantum tab.In vial-kb/vial-qmk, enable Caps Word in the keyboard firmware. This would (?) be done independently for each keyboard that opts to do so by adding "
CAPS_WORD_ENABLE = yes
" in <keyboard>/keymaps/vial/rules.mk.In vial-kb/vial-kb.github.io, document the Caps Word feature (perhaps?).
Questions
Keycode
CW_TOGG
would of course only work where the firmware was built withCAPS_WORD_ENABLE = yes
. How to handle this consistently between the keyboard and GUI? Does Vial enable certain features by default for all keyboards, rather than what I said in (3) above with enabling per keyboard? Or is there a protocol for the keyboard to communicate to the GUI which features it has been built with so that disabled keycodes can be hidden, anything like this?Is it relevant to update only the v6 keycodes? Or do people still build Vial firmware using the v5 keycodes?
CW_TOGG
did exist prior to QMK's refactoring to data-defined keycodes, which I think is what Vial's v5 keycodes refer to.Does the above outline need anything further? Let me know what else I'm missing.
Thanks for your help!
The text was updated successfully, but these errors were encountered: