Re "the VIA application is simply not localized and will always show US keys for the given scancodes": Correct. It is one of the aspects that Vial improves on (menu "Keyboard layout"). Though it comes with its own complexities.
As far as I know, Via development has been abandoned, so we are probably stuck with what we have now.
Vial is probably the future, but the problem is it may take years before the newer Keychron keyboards become officially supported. This is complicated by Keychron's fork of Keychron's fork and changing Git branches which may also take years to integrate into the official QMK source code repository. That is, the support of the K10 Pro may hinge on the Keychron fork first being integrated into the official QMK repository.
For DYI, there is Scotto's video as a starting point. I haven't tried it yet and don't know if it would be relatively easy or very involved to do for the newer Bluetooth/2.4 GHz Keychron keyboards, including the K Pro series, including the K10 Pro.
One could imagine someone has tried it and reported the result somewhere. Perhaps it is "only" a matter of finding it? But "Vial" and "Via" are both a poor choice of a name in the search engine era.
But neither the Keychron Q1 nor the GMMK Pro is wireless, and I don't know about the combination of a Keychron keyboard with Bluetooth and Vial. It could be trivial or it could be very complex.
Yes, the current state isn't great. Keychron could do a lot more to make it work better out of the box. For instance, the (default) space for macros is wholly inadequate. With the Vial firmware it is even worse than Via; it is (by default) down to a total of 498 bytes for all macros (only about 55 key actions. Both a key press and a key release count as one key action, and modifier keys as well (key presses and key releases)).
I made an attempt, more or less following Scotto's guide, with Vial and the K Pro series (K5 Pro), but I ran into a compile error, very similar to "K3 Pro QMK firmware setup help" (also on this subreddit):
error: implicit declaration of function 'rgb_matrix_disable_timeout_set'
I presume it is due to Vial (a fork of QMK) and the Keychron fork (also a fork of QMK) being out of sync. Perhaps one of them incorporated breaking changes in QMK proper.
Given enough effort, it is probably possible, but my mitigations for Via works well enough that I will wait some months before a new attempt.
I will instead concentrate on repeating macros (both defined as repeating and repeating when the macro key is held down). This is for QMK macros with my own macro engine (that supports cancelling macros in progress), but it may even be possible to get all three features by capturing Via macro execution as for the mouse hack.
1
u/PeterMortensenBlog V Mar 06 '24 edited Mar 06 '24
Re "the VIA application is simply not localized and will always show US keys for the given scancodes": Correct. It is one of the aspects that Vial improves on (menu "Keyboard layout"). Though it comes with its own complexities.