#include boolean lang; const int DataPin = 2; const int IRQpin = 3; int d=100; char c; PS2Keyboard keyboard; void setup() { delay(1000); keyboard.begin(DataPin, IRQpin); Serial.begin(9600); Serial.println("Keyboard Test:"); pinMode(13, OUTPUT); } void loop() { /* if (keyboard.available()) { // read the next key char c = keyboard.read(); // check for some of the special keys if (c == PS2_ENTER) { Serial.println(); } else if (c == PS2_TAB) { Serial.print("[Tab]"); } else if (c == PS2_ESC) { Serial.print("[ESC]"); } else if (c == PS2_PAGEDOWN) { Serial.print("[PgDn]"); } else if (c == PS2_PAGEUP) { Serial.print("[PgUp]"); } else if (c == PS2_LEFTARROW) { Serial.print("[Left]"); } else if (c == PS2_RIGHTARROW) { Serial.print("[Right]"); } else if (c == PS2_UPARROW) { Serial.print("[Up]"); } else if (c == PS2_DOWNARROW) { Serial.print("[Down]"); } else if (c == PS2_DELETE) { Serial.print("[Del]"); } else { // otherwise, just print all normal characters Serial.print(c); } } */ char c = keyboard.read(); switch (c) { case 'a': MorseDot(); delay(d); MorseDash(); delay(d); break; case 'b': MorseDash(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; case 'c': MorseDash(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); break; case 'd': MorseDash(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; case 'e': MorseDot(); delay(d); break; case 'f': MorseDot(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); break; case 'g': MorseDash(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); break; case 'h': MorseDot(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; case 'i': MorseDot(); delay(d); MorseDot(); delay(d); break; case 'j': MorseDot(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); break; case 'k': MorseDash(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); break; case 'l': MorseDot(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; case 'm': MorseDash(); delay(d); MorseDash(); delay(d); break; case 'n': MorseDash(); delay(d); MorseDot(); delay(d); break; case 'o': MorseDash(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); break; case 'p': MorseDot(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); break; case 'q': MorseDash(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); break; case 'r': MorseDot(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); break; case 's': MorseDot(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; case 't': MorseDash(); delay(d); break; case 'u': MorseDot(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); break; case 'v': MorseDot(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); break; case 'w': MorseDot(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); break; case 'x': MorseDash(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); break; case 'y': MorseDash(); delay(d); MorseDot(); delay(d); MorseDash(); delay(d); MorseDash(); delay(d); break; case 'z': MorseDash(); delay(d); MorseDash(); delay(d); MorseDot(); delay(d); MorseDot(); delay(d); break; default: break; } } void MorseDash() { tone(9, 1000, 3*d); delay(3*d); } void MorseDot() { tone(9, 1000, d); delay(d); }