diff options
Diffstat (limited to 'drivers/include')
| -rw-r--r-- | drivers/include/ps2_keymaps.h | 39 | ||||
| -rw-r--r-- | drivers/include/ps2kbd.h | 33 |
2 files changed, 68 insertions, 4 deletions
diff --git a/drivers/include/ps2_keymaps.h b/drivers/include/ps2_keymaps.h index 91688c8..0e8ae26 100644 --- a/drivers/include/ps2_keymaps.h +++ b/drivers/include/ps2_keymaps.h @@ -1,8 +1,39 @@ #include <stdint.h> -#define ERROR_KEY 0x00 -#define PRINTING_KEY 0x01 -#define SPECIAL_KEY 0x02 +#define EXTENDED_SCANCODE 0xE0 -extern uint8_t ps2_scancodes_set1[128]; +#define ERROR_KEY 0 +#define PRINTING_KEY 1 +#define SPECIAL_KEY 2 + +#define SPECIAL_NONE 0 +#define SPECIAL_SHIFT 1 +#define SPECIAL_CTRL 2 +#define SPECIAL_BKSP 3 +#define SPECIAL_ALT 4 +#define SPECIAL_GUI 5 +#define SPECIAL_NUMLOCK 6 +#define SPECIAL_CAPLOCK 7 +#define SPECIAL_SCRLLOCK 8 +#define SPECIAL_UPARROW 9 +#define SPECIAL_DNARROW 10 +#define SPECIAL_LFTARROW 11 +#define SPECIAL_RTARROW 12 +#define SPECIAL_ESC 13 +#define SPECIAL_F1 21 +#define SPECIAL_F2 22 +#define SPECIAL_F3 23 +#define SPECIAL_F4 24 +#define SPECIAL_F5 25 +#define SPECIAL_F6 26 +#define SPECIAL_F7 27 +#define SPECIAL_F8 28 +#define SPECIAL_F9 29 +#define SPECIAL_F10 30 +#define SPECIAL_F11 31 +#define SPECIAL_F12 32 + +extern uint8_t ps2_set1_scancodes[128]; extern char ps2_set1_ascii[128]; +extern char ps2_set1_shift[128]; +extern uint8_t ps2_set1_special[128]; diff --git a/drivers/include/ps2kbd.h b/drivers/include/ps2kbd.h index dcde1d8..bf4871d 100644 --- a/drivers/include/ps2kbd.h +++ b/drivers/include/ps2kbd.h @@ -1,5 +1,8 @@ /* this is both a PS/2 keyboard AND a PS/2 MOUSE driver */ +#ifndef _PS2KBD_H_ +#define _PS2KBD_H_ +#include <stdbool.h> #include <stdint.h> #define PS2_SCROLL_LOCK (1 << 0) @@ -16,6 +19,34 @@ #define MODIFIER_CTRL (1 << 1) #define MODIFIER_ALT (1 << 2) +struct ps2_specialkeys_t { + int shift :1; + int ctrl :1; + int bksp :1; + int alt :1; + int gui :1; + int numlock :1; + int capslock :1; + int scrllock :1; + int uparrow :1; + int downarrow :1; + int leftarrow :1; + int rightarrow :1; + int esc :1; + int f1 :1; + int f2 :1; + int f3 :1; + int f4 :1; + int f5 :1; + int f6 :1; + int f7 :1; + int f8 :1; + int f9 :1; + int f10 :1; + int f11 :1; + int f12 :1; +}; + /* returns which arrow keys are down */ uint8_t ps2kbd_button_get(void); @@ -24,3 +55,5 @@ uint8_t ps2kbd_modifier_get(void); void ps2kbd_set_leds(uint8_t status); void ps2kbd_init(void); + +#endif |