Replacing a key in a touchscreen layout doesn't seem to work

I was pleased to see the new touchscreen layout in Keyman Dev 16. I think it is an improvement. But I have encountered a mystery.

Am I right in believing you can replace a key in a touch layout just by pasto=ing the new character into the key without needing to add the U_NNNN string into the code section? I try this, and my keyboard compiles without error. But when I test it in Chrome browser, I still get the original character, not the replacement character.

Keyman developer, I have replaced the Q with open E.

Testing in CHrome
The open e appears on the keyboard image, but tapping it still produces Q.

PS, a longpress key that I added to this same keyboard layout is working when I test it in Chrome.

The “ID” field in your screenshot has “K_Q” which ties this to whatever the .kmn file generates for “q”. You need to manually change the ID field to “U_025B”.

It also looks as though you’ve dragged the original “q” key to the right-hand side of that row of keys. Was that intentional?

The fact that the touch layout is linked to the desktop layout can be a benefit, but you do need to handle the keys that have changed.

1 Like

Thanks, David.

I got my touch keyboard q to give me an open o when I also made the desktop keyboard insert open o when I press q. I am used to thinking the desktop keyboard and the touch screen keyboards are completely different.

Another thing, I experimented with inserting a new key in the numeric layer on my touchscreen layout, then I got an error message when I compiled that this new key is not defined in the

From what I recall, when you inserted a new key, Keyman Developer probably auto-generated an ID T_XXXX so the error message is telling you to make a rule for T_XXXX in the .kmn file.

Alternatively, I typically just change the ID from T_XXXX to U_XXXX(specifying the Unicode character(s) I want)

1 Like