After being introduced to spaceFN (didn’t ever even think about dual-using spacebar!) and kanata, I’m starting to struggle with decision as to which config should live on UHK, and which on OS.
It’s beneficial to configure UHK, as it’ll travel with you regardless of OS or computer. As a downside, it won’t be available on laptop (or other) keyboards.
It’d be better to configure via software as it’ll be keyboard-agnostic. Nowadays there are also OS-agnostic solutions such as the abovementioned one. Downside would be not being able to map some custom keys, such as v60’s mod keys.
How do others think about this and have configured their setups? Goal being ease of setup and as much common ground between OS-es & keyboards.
As explained there is no perfect solution. You define what is most important for you, from that there you can come up with a solution. In the end it will most likely be a mix of UHK, OS layout, extra software (not necessary all together, but possibly well).
In the beginning I did everything on the UHK, because it is (mostly) easy to customize and allowed me to make small, but also larger changes to my keymap very quick. Later when I had my Kanata script in place – which took some time to handle all needed cases and wishes – I set the UHK to be a mostly dumb QWERTY keyboard, because then it was easier to make quick changes in the Kanata script. And because I need a solution for the laptop I needed that in any case. On the UHK I still had a mouse layer and extra stuff like media functions in place.
That is not true. You can for example map extra functions on the UHK, which you do not need or want elsewhere, like I did with the trackpoint and keycluster module. Or you can also map the keys you want to use for a MOD-layer to whatever you want and map them in Kanata. I have mapped my left space key to be F20 on the keyboard itself. Then in the Kanata config I can explicitly use that key as a layer switch to go into a specific (Mod) layer.
In the end you will possibly end up like Max and myself and develop several implementations and choose based on the use case.
And no, that is not an easy solution. When you want to cover different use cases one unfortunately has to implement several options. In case you want to only use one, possibly the best is either just to use the UHK or just Kanata – depending if you move around your keyboard or you switch computers using different keyboards.
They don’t send an event because - by default - the UHK processes them to switch its internal layer. But you can map them in Agent to send something else to the host (like the F20 key that @rpnfan uses). Then they’ll send that key, and you can map it on the host.
TouchCusor is a nice program and works mostly, but I had some minor problems with it. Main advantage is that has the GUI to configure and you are up and running in a few minutes. Kanata can do the same and way more. I would recommend that today in most cases. But it requires you to learn a bit how to set it up. But well worth it IMO.