XenevaOS
Loading...
Searching...
No Matches
inputsrv.h
Go to the documentation of this file.
1
11#ifndef __INPUTSRV_H__
12#define __INPUTSRV_H__
13
14#include <stdint.h>
15
16#define INPUTSRV_IOC_INJECT 0x5401 /* arg: InputsrvEvent */
17#define INPUTSRV_IOC_STATS 0x5402 /* arg: InputsrvStats */
18
19#define INPUTSRV_OK 0
20#define INPUTSRV_E_PERM -1
21#define INPUTSRV_E_INVAL -2
22
23#define INPUTSRV_KEY 1 /* code = scancode, bit 7 set = key release */
24#define INPUTSRV_ABS 2 /* x/y are raw absolute values in 0..maxx/maxy */
25
26/* button_state bits, identical to the in-kernel tablet driver's */
27#define INPUTSRV_BTN_LEFT 0x01
28#define INPUTSRV_BTN_RIGHT 0x02
29#define INPUTSRV_BTN_MIDDLE 0x04
30#define INPUTSRV_BTN_SCROLL_UP 0x05
31#define INPUTSRV_BTN_SCROLL_DOWN 0x06
32
33typedef struct {
37 uint32_t code; /* INPUTSRV_KEY: scancode */
38 int32_t x, y; /* INPUTSRV_ABS: raw position */
39 uint32_t maxx, maxy; /* INPUTSRV_ABS: the device's range; the kernel scales to the screen */
41
42typedef struct { uint64_t keys, mice, rejected; } InputsrvStats;
43
44#endif
int int32_t
Definition acefiex.h:160
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
int y
Definition layout.c:118
Definition inputsrv.h:33
uint16_t reserved
Definition inputsrv.h:36
int32_t x
Definition inputsrv.h:38
uint32_t code
Definition inputsrv.h:37
uint8_t buttons
Definition inputsrv.h:35
uint8_t type
Definition inputsrv.h:34
uint32_t maxx
Definition inputsrv.h:39
Definition inputsrv.h:42
uint64_t keys
Definition inputsrv.h:42