An example of using polling PS/2 using the modified mbed PS/2 library

Dependencies:   Servo mbed

Committer:
d3alek
Date:
Wed Mar 19 18:44:49 2014 +0000
Revision:
14:168aa965b1b4
Parent:
0:94cffad90b69
best achieved;

Who changed what in which revision?

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