Support Vial layout options and avoid ZMK misclassification - #27
Merged
srwi merged 1 commit intoJul 29, 2026
Merged
Conversation
Owner
|
Hi, thank you for the PR. The device discovery fix makes sense to me. My Vial Corne is not affected by this but it seems like the Svalboard is because of the mouse input which the Corne doesn't have. I think after this the device discovery could use an overall cleanup, but I can do that afterwards. Could you please extract the KLE change into a separate PR? I think that one needs some work to be mergeable, but I didn't look into it fully yet. However I would like to get the device discovery fix merged already. |
hazardouschurch
force-pushed
the
feature/vial-layout-and-zmk-detection
branch
from
July 29, 2026 21:29
b23e508 to
2277bc9
Compare
hazardouschurch
marked this pull request as draft
July 29, 2026 21:31
hazardouschurch
force-pushed
the
feature/vial-layout-and-zmk-detection
branch
from
July 29, 2026 21:34
2277bc9 to
9733c30
Compare
hazardouschurch
marked this pull request as ready for review
July 29, 2026 21:43
Contributor
Author
|
Ok Removed KLE changes. Staging a separate PR for KLE changes |
1 task
Owner
|
Thank you! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
Summary
This PR improves Vial support and fixes device discovery for Vial/QMK keyboards.
Related issue
Svalboard is a QMK keyboard. The device was incorrectly identified as a ZMK device. It would not connect because of this.
Type of change
[ x ] Bug fix
[ x ] New feature
Prevent Vial/QMK devices from being replaced by a guessed ZMK serial/BLE device when they share the same VID/PID.
Add parsing of Vial
layouts.labels.Filter optional Vial/KLE keys using the existing Layout dropdown.
Add a unit test covering Vial layout-option filtering.
With the help of AI I was able to identify it was getting misclassified. I'm not well versed in Rust. The changes in device_discovery.rs are related to the misclassification.
The other changes are less important but would be more of an annoyance for users. The Svalboard has integrated pointer devices; using a pointer activate a layer so it flashes the secondary south keys. This is mostly due to them defaulting to a key rather than a pass-through in Vial. Binding them as a pass-through or using the Sval board without them bound works. Its just anoying. SvalBoard has options to have a secondary set of south keys. More users don't have them, as it's an experimental option. This was added/changed to remove the secondary keys in the setup.

Testing
cargo fmtcargo test vial_layout_options_filter_optional_keyscargo buildScreenshots or recordings
Glad I found this; I was about to write something like this myself. Although it would have been in some variant of C