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.
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
U_XXXX(specifying the Unicode character(s) I want)