-
-
Notifications
You must be signed in to change notification settings - Fork 40.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
VIA Protocol 12 #19697
VIA Protocol 12 #19697
Conversation
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.
Personally I would like to see this broken up so that the tri-layer feature isnt coupled to keycode related changes which are also not coupled to via.
Unit tests fail because |
{
"ranges": {
"0x7E00/0x01FF": {
"define": "SAFE_RANGE"
}
}
} As ranges are currently not checked for overlapping values. Also, you cant add
|
Thanks. Adding |
Sounds like you added it as a key rather than range? Ive update the suggestion, to further clarify what I meant. If its working then thats probably good enough while we work through the reset of the PRs content. |
Yep, my bad, thanks. |
As I'm sure you're aware, the preference for PRs is to contain a single isolated change to simplify reviews. This PR could quite easily be broken up into smaller parts. |
#19795 looks good to me. When it's merged to develop, I'll update this PR and remove the tri-layer feature. I'd prefer to replace |
It's merged. |
|
@tzarc merged develop |
Just a heads-up, the merge target was changed to a staging branch so some cleanup from our side can occur. |
This PR contains the changes to VIA code in QMK to match with the VIA V12 protocol (functionality and keycodes).
It pairs with the-via/app#104 which will contain a link to the webapp that uses these changes (i.e. the next version of https://usevia.app).
The intent of this PR is to remove VIA-specific keycodes/handling, such that VIA's keycode dictionary can work entirely from QMK's JSON definition of keycodes.
QK_USER_0
..QK_USER_31
keycodes based on existingQK_USER
range.QK_KB_0
..QK_KB_31
keycodes based on existingQK_KB
range.SAFE_RANGE
asQK_KB_0
value overlaps with previousSAFE_RANGE
value.MACRO00..MACRO15
, converted uses toQK_MACRO_0..QK_MACRO_15
etc.USER00..USER15
, converted uses toQK_KB_0..QK_KB_15
FN_MO13
,FN_MO23
keycodes/handling into a generalized simple tri-layer featureAlso:
Regarding the tri-layer feature:
The intent of adding this to core is to refactor it out of
via.c
and remove the VIA-specific keycodes. A long time ago, when generalizing my keyboard-level code into VIA code, I decided it was useful enough to be added there, so that everyone using VIA could have access to the ability to access three layers with only two keys, without requiring every keyboard achieve this with custom keycodes and duplicated implementation code. I still believe it's a great feature that everyone should be able to use easily in QMK even when not using VIA. I am open to suggestions regarding changing the keycode names, adding aliases, etc.Update: Tri-layer feature refactored in #19795
Types of Changes
Issues Fixed or Closed by This PR
Checklist