PS/2 Keyboard

Dependents:   Hangman

Committer:
pprasad7
Date:
Thu Oct 11 20:15:09 2012 +0000
Revision:
0:62b62530a82f
PS/2 Input;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pprasad7 0:62b62530a82f 1 /**
pprasad7 0:62b62530a82f 2 * PS/2 keyboard interface control class (Version 0.0.1)
pprasad7 0:62b62530a82f 3 *
pprasad7 0:62b62530a82f 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
pprasad7 0:62b62530a82f 5 * http://shinta.main.jp/
pprasad7 0:62b62530a82f 6 */
pprasad7 0:62b62530a82f 7 #ifndef _PS2_KEYBOARD_H_
pprasad7 0:62b62530a82f 8 #define _PS2_KEYBOARD_H_
pprasad7 0:62b62530a82f 9
pprasad7 0:62b62530a82f 10 #include "PS2KB_INIT.h"
pprasad7 0:62b62530a82f 11 #include "PS2KB.h"
pprasad7 0:62b62530a82f 12
pprasad7 0:62b62530a82f 13 class PS2Keyboard {
pprasad7 0:62b62530a82f 14 public:
pprasad7 0:62b62530a82f 15 PS2Keyboard(PinName clk_pin, PinName dat_pin);
pprasad7 0:62b62530a82f 16 ~PS2Keyboard();
pprasad7 0:62b62530a82f 17 typedef enum {
pprasad7 0:62b62530a82f 18 KeyMake,
pprasad7 0:62b62530a82f 19 KeyBreak
pprasad7 0:62b62530a82f 20 } Type;
pprasad7 0:62b62530a82f 21 typedef struct {
pprasad7 0:62b62530a82f 22 Type type;
pprasad7 0:62b62530a82f 23 int length;
pprasad7 0:62b62530a82f 24 char scancode[8];
pprasad7 0:62b62530a82f 25 } keyboard_event_t;
pprasad7 0:62b62530a82f 26 bool processing(keyboard_event_t *p);
pprasad7 0:62b62530a82f 27 private:
pprasad7 0:62b62530a82f 28 PS2KB_INIT ps2kb_init;
pprasad7 0:62b62530a82f 29 PS2KB ps2kb;
pprasad7 0:62b62530a82f 30 int count;
pprasad7 0:62b62530a82f 31 char scancode[8];
pprasad7 0:62b62530a82f 32 };
pprasad7 0:62b62530a82f 33
pprasad7 0:62b62530a82f 34 #endif