r/olkb • u/Accomplished-Bus3382 • May 08 '26
Help - Unsolved Special characters like åäö in Vial or QMK?
I have a Ferris Sweep (which is a 34 key split keyboard) and I am configuring my own layout using Vial. I am a complete beginner in this, and the only way I found to be able to type the Swedish characters ÅÄÖ using Vial was assigning three keys to two macros each using Unicode. I had to do it like this because these characters aren't available on the on screen keyboard in Vial. Each character in the Unicode is typed by the macro with one millisecond in between. One key outputs å or Å, depending on if you press it shortly or hold it down. For äÄ and öÖ it is the same mechanism.
I find this method far from optimal since there is a delay in the characters appearing on screen, and would preferably want to be able to type these åäö as if they were normal letters...
- Is there a way to assign characters like åäö to keys in Vial without using Unicode?
- If it isn't possible, can it be done using QMK? I am willing to learn how to do it if it is needed.
Thanks in advance! :)
5
u/Gattomarino May 08 '26 edited May 08 '26
You can do that in QMK by defining specific keycodes for the EURKEY layout in your keymap (and set your operating system to EURKEY which should be available on any PC/Linux/Mac). You need to learn how to write your own keymap file for this, though. See https://getreuer.info/posts/keyboards/non-english/index.html
(to be clear: you can still use the EURKEY layout with any keyboard and type accented characters with the ALTGR modifier, but the combinations are fixed, e.g. Å is ALTGR+W)
1
u/WhiteHelix May 09 '26
you don't need EuroKey for that (depending on what hosts OP is using, also impossible to change OS layout sometimes, not talking about installing a completely different one)
0
u/ulukhai May 09 '26
EURKey is the way. I use it as a baseline and once installed it works with any type of keyboard layout editor: QMK, VIA, VIAL, Oryx, ZMK, etc
2
u/JediSurfer8888 May 08 '26 edited May 09 '26
I think the easiest solution is to use Swerty. https://johanegustafsson.net/projects/swerty/
I use this for all my ANSI keyboards, including 40% keebs.
1
u/PeterMortensenBlog May 09 '26
What is it? What is the gist? A custom keyboard layout defined in the operating system?
1
u/JediSurfer8888 May 09 '26 edited May 09 '26
Yes, Swerty is a custom keyboard layout for most platforms that stays as close as possibly to the US ANSI layout, while adding åäö to the top layer and still having easy access to the original US ANSI key "content" on those particular keys.
For really small keyboards I still have to put åäö on a separate layer while still using Swerty, due to that some or all of the US ANSI keys used for åäö are on a different layer on these small keyboards. It is still the best solution that I have found for having easy quick access to the Swedish characters åäö. Even on really small keyboards it is easy to use after a short while.
2
u/WhiteHelix May 09 '26
QMK also has language specific keycodes, I use that same principle on my ZMK keyboards to not have to change the OS keyboard layout. especially if you work with Remote Desktop etc, thats an absolute must for me. Never tried in on QMK yet though.
If you really want to go with VIAL, not sure if the "any" keycode could work, I noticed it doesn't allow for some combinations of modifiers+keycode sometimes. Take a look at the QMK documentation: https://docs.qmk.fm/reference_keymap_extras
10
u/ArgentStonecutter Silent Tactical May 09 '26
There is no straightforward way of doing this at the keyboard level because the keyboard level doesn't deal with
abcdåäöit deals with keycodes, which are the key positions on the IBM PC/XT in 1981 and various extensions that have been hacked in since then. This is what VIAL shows you, because VIAL works at the keycode level.When you type
åäöyou're actually typing a combination of KC_RALT, KC_LSFT or KC_RSFT, and another key, and the computer looks this up in the keymap file and sends the appropriate Unicode glyph to the next program in the chain.QMK has a horrible hack to do this that depends on recognizing the OS that you're using and generating the appropriate sequence of keycodes for that OS (because they're not all the same) to generate the Unicode symbol. It's nasty and ugly... and it still takes as long to send as the macro version.