But maybe you meant that your computer keyboard is not supported when you are progrmming? ...... its also possible that the support would be better added to the Arduino environment so people not using Teensy would also benefit.
Would anyone be willing to put together a list of the Unicode numbers for those special keys (anything that has a Unicode number higher than 255)?
That page has info about contributing to the translations.
Teensyduino does not have any non-English support, but it has relatively few messages that appear.
011E Ğ Latin capital letter G with breve
011F ğ Latin small letter g with breve
0130 İ Latin captial letter I with dot above
0131 ı Latin small letter dotless i
015E Ş Latin capital letter S with cedilla
0151 ş Latin small letter s with cedilla
Currently keylayouts.c has 2 arrays, one for code points 0 to 127, and another for 128 to 255. Unicode 20AC (the Euro sign) is handled as a special case. As things exist at the moment, there's no code to map other Unicode numbers to the keycodes.
It seems like most of the non-European keyboards will need only a handful of Unicode mappings, sparsely populating the 16 bit range above 00FF, so a huge array probably is not a good idea.
Maybe an array of unicode numbers and keycode pairs would be better? It'll require a search, rather than a quick direct lookup, but maybe that's a reasonable trade-off? I guess the question is whether other layouts people request in the future will need only small numbers of Unicode mappings above 00FF, and how far they'll be distributed over the Unicode 16 bit range?
Hello Nantonos, could you share your Turkish keyboard layout please? When i use keyboard println, when i type cmd.exe for example it presses as cmdçexe
teensy3.menu.keys.tr-tr.name=Turkish
teensy3.menu.keys.tr-tr.build.define1=-DLAYOUT_TURKISH
On a Turkish keyboard the I key produces the dotless forms and the @/' key (which has an İ on it) produced the dotted forms.Notice that in Turkish (rather logically in fact) the capital form of dotted i is capital dotted i and the lowercase form of I is lowercase dotless i.
#define ASCII_69 KEY_I // 105 i
#define ISO_8859_1_E9 ACUTE_ACCENT_BITS + KEY_E // 233 é e ACUTE
#define ASCII_69 KEY_QUOTE // 105 i
#define ISO_8859_1_E9 KEY_TILDE + SHIFT_BITS // 233 é e ACUTE
// not yet implemented
#define UNICODE_011E KEY_LEFT_BRACE + SHIFT_MASK // 011E Ğ Latin capital letter G with breve
#define UNICODE_011F KEY_LEFT_BRACE // 011F ğ Latin small letter g with breve
#define UNICODE_0130 KEY_QUOTE + SHIFT_MASK // 0130 İ Latin captial letter I with dot above
#define UNICODE_0131 KEY_I // 0131 ı Latin small letter dotless i
#define UNICODE_015E KEY_SEMICOLON + SHIFT_MASK // 015E Ş Latin capital letter S with cedilla
#define UNICODE_0151 KEY_SEMICOLON // 0151 ş Latin small letter s with cedilla
and should be replaced by these two:
Code:#define ASCII_69 KEY_QUOTE // 105 i #define ISO_8859_1_E9 KEY_TILDE + SHIFT_BITS // 233 é e ACUTE
while these should be added:
Code:// not yet implemented #define UNICODE_011E KEY_LEFT_BRACE + SHIFT_MASK // 011E Ğ Latin capital letter G with breve #define UNICODE_011F KEY_LEFT_BRACE // 011F ğ Latin small letter g with breve #define UNICODE_0130 KEY_QUOTE + SHIFT_MASK // 0130 İ Latin captial letter I with dot above #define UNICODE_0131 KEY_I // 0131 ı Latin small letter dotless i #define UNICODE_015E KEY_SEMICOLON + SHIFT_MASK // 015E Ş Latin capital letter S with cedilla #define UNICODE_0151 KEY_SEMICOLON // 0151 ş Latin small letter s with cedilla
Thanks!
I've updated my copy. This will be included in Teensyduino 1.13.
I'll add these too. However, I'm not planning to implement them this way.
It may be a while until I rewrite the keyboard code to support these, and eventually other layouts using more of the unicode space beyond 0x00FF.
Sounds as if you have some early thoughts on a different method (or are aware of issues with the way € is handled currently) - care to share?
It will open up some large markets once completed however (Japan, India, China ... and basically everywhere except for US/Canada/Mexico/Australia/NZ and parts of Europe, which are already covered).
Thanks!
I've updated my copy. This will be included in Teensyduino 1.13.
I'll add these too. However, I'm not planning to implement them this way. It may be a while until I rewrite the keyboard code to support these, and eventually other layouts using more of the unicode space beyond 0x00FF.