Software: wrong keycodes in non-US layouts

XNRL

New member
Feb 27, 2022
2
1
3
I mainly use Colemak layout, and here's the problem with the software.

Suppose I bind an 'S' to a key (which in a usual US layout would be 'D' on a keyboard). If, being in a Colemak layout, I press this 'S'-bound key, the keycode sent is the one of the key in Colemak if it was pressed on a US keyboard.

So for example I've bound the first letters of the middle row to Colemak values. Mechanically/topographically ASDF in US layout equals ARST in Colemak. So on this bound row:
- pressing A produces keycode 62 for A - because A is the same in both layouts
- pressing R produces keycode 80 for P - because R in US layout occupies the same key as P in Colemak
- pressing S produces keycode 82 for R - because S in US layout occupies the same key as R in Colemak
- pressing T produces keycode 71 for G - because T in US layout occupies the same key as G in Colemak

This issue can be mitigated by switching to the US layout. But it is confusing as hell and would be unmanagable if there was no US layout installed in the system.

Can this be fixed? I'm not sure how, but I think it is kind of wrong: you bind key in Colemak, and it binds correctly, but when pressed, produces incorrect keycode. Sorry if my terminology is wrong, I'm not awfully familiar with internal workings of layouts and keyboards.
 
  • Like
Reactions: Im this guy

Im this guy

Moderator
Staff member
Nov 5, 2021
1,042
117
63
Azeron software only recognises QWERTY layout. You will have to have qwerty layout in front of you when binding keys.
 

XNRL

New member
Feb 27, 2022
2
1
3
I'm just trying to wrap my head around the mechanics of this conversion.
Logically, if you bind an E to a key, when you press it, it should print E regardless of whatever layout is selected in the system, no?
 

Im this guy

Moderator
Staff member
Nov 5, 2021
1,042
117
63
I'm just trying to wrap my head around the mechanics of this conversion.
Logically, if you bind an E to a key, when you press it, it should print E regardless of whatever layout is selected in the system, no?
Yeah, it would. I do understand where you are coming from.
 

Zeanon

New member
Jan 11, 2022
8
4
3
The problem is something different:
The keypad does not send "y" to your pc, but rather something like "button 2013" and your pc now interprets that and thinks: hey, that is a "y"
now when you have a keyboard that is US-ANSI, but your pc is set to ISO-DE, and you set a "y" in the software, the keypad will send "button 2014" and the pc is like: that's a "z" because the layouts are different
Like when you take 2 keycaps of your keyboard and swap them, the letters that you get when pressing the key will still be the ones, that they actually are and not the ones on the keycap
 

Im this guy

Moderator
Staff member
Nov 5, 2021
1,042
117
63
That is why you map the qwerty keys to it.
To map F on colemak, you would have to set E on Azeron
To map P on colemak, you would have to set R on Azeron

So if you press E / R on Azeron, it would trigger F / P on colemak.
 

Zeanon

New member
Jan 11, 2022
8
4
3
I know, I just tried to explain it in a more accessible way, since XNRL said he couldnt wrap his head around it :)
 
  • Like
Reactions: Im this guy