Hello guys, I open this topic because I have a problem with the virtual keyboard of the Arduino micro.
I can't get to write some special characters such as "#" or "@" ..
(I state that on my PC, the keyboard is set to the Italian language. But I also changed the keyboard language in English, with the same results)
I am attaching the code that I use to write with the virtual keyboard:
One difference between a UK keyboard and a US Keyboard, is the keys for @ and " are swapped.
So a UK keyboard has " as a result for shift-2, and a US keyboard has @ for that combination.
Remember that you are registering or sending what key was pressed, not the value that is printed on that key.
So you are sending shift-2 and not @.
You need to do a different mapping per country version.
Google for images of "keyboard mapping", plus "UK" or "US" and you'll see the differences.
So your keyword here is "mapping".
Edit:
For sure you can send " to get @ instead, but that's not the right way to do this.
MAS3:
One difference between a UK keyboard and a US Keyboard, is the keys for @ and " are swapped.
So a UK keyboard has " as a result for shift-2, and a US keyboard has @ for that combination.
Remember that you are registering or sending what key was pressed, not the value that is printed on that key.
So you are sending shift-2 and not @.
You need to do a different mapping per country version.
Google for images of "keyboard mapping", plus "UK" or "US" and you'll see the differences.
So your keyword here is "mapping".
Edit:
For sure you can send " to get @ instead, but that's not the right way to do this.
Thank you very much, I set the keyboard language to English U.S. and now by pressing Shift+2, I get @!
This is a correct way.
You set the keyboard mapping of your OS corresponding to your (virtual) keyboard.
There's no problem with that.
You just need to instruct possible other users of your project to do the same thing: set keyboard input to a UK keyboard.
The incorrect way is to send an other character in order to get the one you'd like to see.