this program is based on the PS/2 keyboard library and the LCD library, the lcd display whatever input is coming from the PS/2 keyboard.

Dependencies:   TextLCD mbed

Committer:
edwinb
Date:
Sun Jan 30 15:05:39 2011 +0000
Revision:
0:3774ff2f9a59

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
edwinb 0:3774ff2f9a59 1 #ifndef PS2KBD_H
edwinb 0:3774ff2f9a59 2 #define PS2KBD_H
edwinb 0:3774ff2f9a59 3
edwinb 0:3774ff2f9a59 4 #include "mbed.h"
edwinb 0:3774ff2f9a59 5
edwinb 0:3774ff2f9a59 6 class PS2Kbd {
edwinb 0:3774ff2f9a59 7
edwinb 0:3774ff2f9a59 8 public:
edwinb 0:3774ff2f9a59 9
edwinb 0:3774ff2f9a59 10 PS2Kbd(PinName clk, PinName din);
edwinb 0:3774ff2f9a59 11 unsigned char rd(void);
edwinb 0:3774ff2f9a59 12 void wr(unsigned char);
edwinb 0:3774ff2f9a59 13
edwinb 0:3774ff2f9a59 14 protected:
edwinb 0:3774ff2f9a59 15 DigitalInOut _ps2clk;
edwinb 0:3774ff2f9a59 16 DigitalInOut _ps2din;
edwinb 0:3774ff2f9a59 17
edwinb 0:3774ff2f9a59 18 };
edwinb 0:3774ff2f9a59 19
edwinb 0:3774ff2f9a59 20
edwinb 0:3774ff2f9a59 21 static const unsigned char ps2KeyMap[] = {
edwinb 0:3774ff2f9a59 22 // 0 1 2 3 4 5 6 7 8 9 A B C D E F
edwinb 0:3774ff2f9a59 23 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '`', ' ', // 00-0F
edwinb 0:3774ff2f9a59 24 ' ', ' ', 0x12, ' ', ' ', 'q', '1', ' ', ' ', ' ', 'z', 's', 'a', 'w', '2', ' ', // 10-1F
edwinb 0:3774ff2f9a59 25 ' ', 'c', 'x', 'd', 'e', '4', '3', ' ', ' ', ' ', 'v', 'f', 't', 'r', '5', ' ', // 20-2F
edwinb 0:3774ff2f9a59 26 ' ', 'n', 'b', 'h', 'g', 'y', '6', ' ', ' ', ' ', 'm', 'j', 'u', '7', '8', ' ', // 30-3F
edwinb 0:3774ff2f9a59 27 ' ', ',', 'k', 'i', 'o', '0', '9', ' ', ' ', '.', '/', 'l', ';', 'p', '-', ' ', // 40-4F
edwinb 0:3774ff2f9a59 28 ' ', ' ','\'', ' ', '[', '=', ' ', ' ', 0x58, 0x59, 0x5A, ']', ' ','\\', ' ', ' ', // 50-5F
edwinb 0:3774ff2f9a59 29 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '1', ' ', '4', '7', ' ', ' ', '1', // 60-6F
edwinb 0:3774ff2f9a59 30 '0', '.', '2', '5', '6', '8', 0x1B, 0x80, ' ', '+', '3', '-', '*', '9', ' ', ' ', // 70-7F
edwinb 0:3774ff2f9a59 31 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 80-8F
edwinb 0:3774ff2f9a59 32 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 90-9F
edwinb 0:3774ff2f9a59 33 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // A0-AF
edwinb 0:3774ff2f9a59 34 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // B0-BF
edwinb 0:3774ff2f9a59 35 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // C0-CF
edwinb 0:3774ff2f9a59 36 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // D0-DF
edwinb 0:3774ff2f9a59 37 0xE0, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // E0-EF
edwinb 0:3774ff2f9a59 38 NULL, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // F0-FF
edwinb 0:3774ff2f9a59 39 };
edwinb 0:3774ff2f9a59 40
edwinb 0:3774ff2f9a59 41 #endif