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.
PS2ASCII.h@1:2178724f96f1, 2011-03-08 (annotated)
- 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?
User | Revision | Line number | New 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 |