Tested with the LayoutTest example, Teensy beta 8, Teensy 2.0++ on Windows7. A British keyboard
http://en.wikipedia.org/wiki/Keyboard_layouts#United_Kingdom
is the system default and is correctly detected by Teensyduino in the keyboard layout menu.
The results were initially surprising to me; letters with acute accents are printed (although UK English does not use them). Grave accents are not printed. But I discovered that this is correct; the acute vowels are not printed on the keyboard but are typed with Alt-GR.
I then made a modified copy of the example, to add the three untested letters which are on a UK keyboard - the pound sterling (currency) symbol £, the EBCIDIC negation ¬ and the EBCIDIC broiken pipe ¦. Of those, the pound sterling was not generated. Here is the modified code (just additions, at the end):
And the results:
http://en.wikipedia.org/wiki/Keyboard_layouts#United_Kingdom
is the system default and is correctly detected by Teensyduino in the keyboard layout menu.
The results were initially surprising to me; letters with acute accents are printed (although UK English does not use them). Grave accents are not printed. But I discovered that this is correct; the acute vowels are not printed on the keyboard but are typed with Alt-GR.
I then made a modified copy of the example, to add the three untested letters which are on a UK keyboard - the pound sterling (currency) symbol £, the EBCIDIC negation ¬ and the EBCIDIC broiken pipe ¦. Of those, the pound sterling was not generated. Here is the modified code (just additions, at the end):
Code:
/* USB Keyboard Layout Test
You must select Keyboard from the "Tools > USB Type" menu
Select the the correct layout from "Tools > Keyboard Layout"
If you discover incorrect results for your country's layout,
please email Paul Stoffregen <paul@pjrc.com> with the results
of this test and an explanation of which keys are wrong. If
your layout is not available, please find the layout which
is closest, and email Paul Stoffregen.
Modified to add UK keyboard symbols, Chris Lilley.
*/
const int ledPin = 6; // Teensy 2.0 = Pin 11, Teensy++ 2.0 = Pin 6
void setup() {
Serial.begin(9600);
// Blink the LED for 10 seconds, to give time to open
// a word processor or text editor to receive the test
pinMode(ledPin, OUTPUT);
for (int i=0; i < 10; i++) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
// Type all possible characters. Many countries do not use all
// characters. Unsupported characters will be skipped
//
Keyboard.println("Teensy USB UK Keyboard Layout Test");
delay(100);
Keyboard.println("Lowercase: abcdefghijklmnopqrstuvwxyz");
delay(100);
Keyboard.println("Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ");
delay(100);
Keyboard.println("Numbers: 0123456789");
delay(100);
Keyboard.println("Symbols1: !\"#$%&'()*+,-./");
delay(100);
Keyboard.println("Symbols2: :;<=>?[\\]^_`{|}~");
delay(100);
Keyboard.println("Symbols3: ¡¢£¤¥¦§¨©ª«¬*®¯°±");
delay(100);
Keyboard.println("Symbols4: ²³´µ¶·¸¹º»¼½¾¿×÷");
delay(100);
Keyboard.println("Grave: ÀÈÌÒÙàèìòù");
delay(100);
Keyboard.println("Acute: ÁÉÍÓÚÝáéíóúý");
delay(100);
Keyboard.println("Circumflex: ÂÊÎÔÛâêîôû");
delay(100);
Keyboard.println("Tilde: ÃÑÕãñõ");
delay(100);
Keyboard.println("Diaeresis: ÄËÏÖÜäëïöüÿ");
delay(100);
Keyboard.println("Cedilla: Çç");
delay(100);
Keyboard.println("Ring Above: Åå");
delay(100);
Keyboard.println("AE: Ææ");
delay(100);
Keyboard.println("Thorn: Þþ");
delay(100);
Keyboard.println("Sharp S: ß");
delay(100);
Keyboard.println("O-Stroke: Øø");
delay(100);
Keyboard.println("Eth: Ðð");
delay(100);
Keyboard.println("Euro: €");
delay(100);
// UK-specific additions
Keyboard.println("Sterling: £");
delay(100);
Keyboard.println("EBCEDIC negation: ¬");
delay(100);
Keyboard.println("EBCEDIC broken bar: ¦");
}
void loop() {
// Do nothing after the test
}
And the results:
Code:
Teensy USB UK Keyboard Layout Test
Lowercase: abcdefghijklmnopqrstuvwxyz
Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Numbers: 0123456789
Symbols1: !$%&'()*+,-./
Symbols2: :;<=>?[\]^_`{|}~
Symbols3: ¦¬
Symbols4:
Grave:
Acute: ÁÉÍÓÚáéíóú
Circumflex:
Tilde:
Diaeresis:
Cedilla:
Ring Above:
AE:
Thorn:
Sharp S:
O-Stroke:
Eth:
Euro: €
Sterling:
EBCEDIC negation: ¬
EBCEDIC broken bar: ¦
Last edited: