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