From 587709b263699daf4f5af9a8df61dee9d65a09c4 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 12 Apr 2018 11:44:32 +0100 Subject: [PATCH] input: definitions for input device --- Kernel/include/input.h | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Kernel/include/input.h diff --git a/Kernel/include/input.h b/Kernel/include/input.h new file mode 100644 index 00000000..6c936d16 --- /dev/null +++ b/Kernel/include/input.h @@ -0,0 +1,47 @@ +#ifndef _INPUT_H +#define _INPUT_H + +#define MOUSE_REL 0x00 /* 8bit deltas - may need 16 ? */ +#define MOUSE_ABS 0x10 /* 16bit x 16bit virtual coords */ +#define STICK_DIGITAL 0x20 /* UDLR + buttons byte */ +#define STICK_DIGITAL_U 0x80 +#define STICK_DIGITAL_D 0x40 +#define STICK_DIGITAL_L 0x20 +#define STICK_DIGITAL_R 0x10 +#define STICK_ANALOG 0x30 /* 16bit signed X / Y, sign */ +#define KEYPRESS_CODE 0x40 /* Followed by keycode byte. Button + bits show u/d and 3 spare bits */ +#define KEYPRESS_DOWN 0x00 +#define KEYPRESS_UP 0x01 + +#define BUTTONS(x) ((x)&0x0F) /* 1-4 buttons */ + + +#define INPUT_GRABKB 0x0520 +#define INPUT_GRAB_NONE 0 /* No grab */ +#define INPUT_GRAB_META 1 /* Special keys only */ +#define INPUT_GRAB_TYPED 2 /* Typed input */ +#define INPUT_GRAB_ALL 3 /* Up and down events */ + +/* + * Input device methods + */ +extern int inputdev_read(uint8_t flag); +extern int inputdev_write(uint8_t flag); +extern int inputdev_ioctl(uarg_t request, char *data); +extern int inputdev_close(void); + +/* + * Exposed for keyboard drivers + */ +extern uint8_t keyboard_grab; + +/* + * Platform methods for input device if present + */ +extern int platform_input_read(uint8_t *); +extern void platform_input_wait(void); +extern int platform_input_write(uint8_t); +extern uint8_t platform_input_init(void); + +#endif -- 2.34.1