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:
Tue Mar 08 16:07:19 2011 +0000
Revision:
1:2178724f96f1
Parent:
0:3774ff2f9a59
a small typo in the code has been fixed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
edwinb 0:3774ff2f9a59 1 #ifndef MBED_PS2ASCII_H
edwinb 0:3774ff2f9a59 2 #define MBED_PS2ASCII_H
edwinb 0:3774ff2f9a59 3
edwinb 0:3774ff2f9a59 4 #include "PS2Kbd.h"
edwinb 0:3774ff2f9a59 5 #include "mbed.h"
edwinb 0:3774ff2f9a59 6
edwinb 0:3774ff2f9a59 7 class PS2ASCII {
edwinb 0:3774ff2f9a59 8
edwinb 0:3774ff2f9a59 9 public:
edwinb 0:3774ff2f9a59 10
edwinb 0:3774ff2f9a59 11 PS2ASCII(PinName data, PinName clk);
edwinb 0:3774ff2f9a59 12 unsigned char getChar();
edwinb 0:3774ff2f9a59 13 bool caps();
edwinb 0:3774ff2f9a59 14 bool shift();
edwinb 0:3774ff2f9a59 15 bool E0flag();
edwinb 0:3774ff2f9a59 16 bool numlock();
edwinb 0:3774ff2f9a59 17
edwinb 0:3774ff2f9a59 18 private:
edwinb 0:3774ff2f9a59 19
edwinb 0:3774ff2f9a59 20 PS2Kbd kbd;
edwinb 0:3774ff2f9a59 21 bool _caps;
edwinb 0:3774ff2f9a59 22 bool _shift;
edwinb 0:3774ff2f9a59 23 bool _E0flag;
edwinb 0:3774ff2f9a59 24 bool _numlock;
edwinb 0:3774ff2f9a59 25 };
edwinb 0:3774ff2f9a59 26
edwinb 0:3774ff2f9a59 27 static const unsigned char shift_on[] = {
edwinb 0:3774ff2f9a59 28 // 0 1 2 3 4 5 6 7 8 9 A B C D E F
edwinb 0:3774ff2f9a59 29 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '`', ' ', // 00-0F
edwinb 0:3774ff2f9a59 30 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 10-1F
edwinb 0:3774ff2f9a59 31 ' ', 0x21, 0x22, '~', 0x24, 0x25, 0x26, '@', 0x28, 0x29, 0x30, 0x31, '<', '_', '>', '?', // 20-2F
edwinb 0:3774ff2f9a59 32 ')', '!', '\"', 0x9C, '$', '%', '^', '&', '*', '(', ' ', ':', ' ', '+', ' ', ' ', // 30-3F
edwinb 0:3774ff2f9a59 33 0xAA, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', // 40-6F
edwinb 0:3774ff2f9a59 34 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', ' ', ' ', // 50-7F
edwinb 0:3774ff2f9a59 35 ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', // 60-4F
edwinb 0:3774ff2f9a59 36 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, // 70-5F
edwinb 0:3774ff2f9a59 37 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 80-8F
edwinb 0:3774ff2f9a59 38 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 90-9F
edwinb 0:3774ff2f9a59 39 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // A0-AF
edwinb 0:3774ff2f9a59 40 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // B0-BF
edwinb 0:3774ff2f9a59 41 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // C0-CF
edwinb 0:3774ff2f9a59 42 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // D0-DF
edwinb 0:3774ff2f9a59 43 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // E0-EF
edwinb 0:3774ff2f9a59 44 NULL, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // F0-FF
edwinb 0:3774ff2f9a59 45 };
edwinb 0:3774ff2f9a59 46
edwinb 0:3774ff2f9a59 47 #endif