Colemak AltGr combinations not working?

New UHK user here, I just got my keyboard.

Previously I had a qwerty keyboard and in keyboard conf (on Linux) I’ve set the Colemak layout.
Now I decided to choose Colemak layout on the UHK keyboard.

The problem is that previously, when OS has set up the Colemak layout, I could use AltGr with other keys to insert special keys.
Now I can’t type those characters to show you, but these pictures should give you an idea:

image
That’s with AltGr, and the following one is AltGr+Shift:
image

Is this a limitation of the keyboard or it can be solved?


EDIT:
Switched to qwerty on the keyboard, and enabled colemak in OS. Here are some examples:

  • š (altgr+h s)
  • — [em-dash] (altgr+shift+ -)
  • ć (altgr+t c)
  • € (altgr+5)
  • ¡ (altgr+1)
  • « (altgr+[)

Well, start by understanding the difference between scancodes and characters.

Now there are multiple ways to use UHK with colemak:

  • Have OS set to colemak and UHK to qwerty
    • pros: everything works as you are used to
    • cons: you will have to map things in Agent using the qwerty equivalents
  • Have OS set to qwerty and UHK to colemak, and use altgr codes of the qwerty layout
    • pros: mapping stuff in Agent is intuitive
    • cons: you are now limited to your qwerty layout altGr mappings
  • Have OS set to qwerty and UHK to colemak, and replicate special characters using alt code (ctrl+shift+u code for linux) macros.
    • pros:
      • have everything mapped on your UHK without the need for any software configurations
    • cons:
      • according to above it is a lot of macros to configure
      • alt codes are not OS agnostic
      • alt codes may be a buggy and slow way to enter unicode characters
  • (A combined approach.)
2 Likes

Yes, that is what I would recommend. I am a long-time Colemak user, and I have my OS keymap set to Colemak on all systems that I use. My UHK is set as a qwerty keymap.

Beware: if you want to send any text strings in smart macros, you will have to use “reverse-Colemak” strings. For example, to get the UHK to type an e character, you would have to use tapKey k. (Tap the key that is a US-keyboard k to send the scancode that will be translated to e on the Colemak layout of the host OS.)

This will look weird in macros that use a write command :wink:

write Hkuu; w;sug!
1 Like

Thanks for providing several solutions. I went with the quoted one as that felt the least complicated at the moment.

@maexxx At the moment I’m not writing any macros, but thanks for letting me know about this, as it might have perplexed me in the future.

1 Like