XenevaOS
Loading...
Searching...
No Matches
Classes | Macros
inputsrv.h File Reference
#include <stdint.h>
Include dependency graph for inputsrv.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  InputsrvEvent
 
struct  InputsrvStats
 

Macros

#define INPUTSRV_IOC_INJECT   0x5401 /* arg: InputsrvEvent */
 
#define INPUTSRV_IOC_STATS   0x5402 /* arg: InputsrvStats */
 
#define INPUTSRV_OK   0
 
#define INPUTSRV_E_PERM   -1
 
#define INPUTSRV_E_INVAL   -2
 
#define INPUTSRV_KEY   1 /* code = scancode, bit 7 set = key release */
 
#define INPUTSRV_ABS   2 /* x/y are raw absolute values in 0..maxx/maxy */
 
#define INPUTSRV_BTN_LEFT   0x01
 
#define INPUTSRV_BTN_RIGHT   0x02
 
#define INPUTSRV_BTN_MIDDLE   0x04
 
#define INPUTSRV_BTN_SCROLL_UP   0x05
 
#define INPUTSRV_BTN_SCROLL_DOWN   0x06
 

Macro Definition Documentation

◆ INPUTSRV_ABS

#define INPUTSRV_ABS   2 /* x/y are raw absolute values in 0..maxx/maxy */

◆ INPUTSRV_BTN_LEFT

#define INPUTSRV_BTN_LEFT   0x01

◆ INPUTSRV_BTN_MIDDLE

#define INPUTSRV_BTN_MIDDLE   0x04

◆ INPUTSRV_BTN_RIGHT

#define INPUTSRV_BTN_RIGHT   0x02

◆ INPUTSRV_BTN_SCROLL_DOWN

#define INPUTSRV_BTN_SCROLL_DOWN   0x06

◆ INPUTSRV_BTN_SCROLL_UP

#define INPUTSRV_BTN_SCROLL_UP   0x05

◆ INPUTSRV_E_INVAL

#define INPUTSRV_E_INVAL   -2

◆ INPUTSRV_E_PERM

#define INPUTSRV_E_PERM   -1

◆ INPUTSRV_IOC_INJECT

#define INPUTSRV_IOC_INJECT   0x5401 /* arg: InputsrvEvent */

Shared kernel/user ABI between the kernel input layer and a user-space input server (Process/inputsrv), via /dev/inputsrv (daemons group only).

The server owns the input hardware through /dev/hwdev and does all the device work: virtio negotiation, interrupts, and decoding raw device events. It hands the kernel DECODED events, which the kernel feeds into the same input layer the in-kernel drivers used (AuDevWriteKybrd / AuDevWriteMice), so the compositor and everything else is unaware of the difference.

◆ INPUTSRV_IOC_STATS

#define INPUTSRV_IOC_STATS   0x5402 /* arg: InputsrvStats */

◆ INPUTSRV_KEY

#define INPUTSRV_KEY   1 /* code = scancode, bit 7 set = key release */

◆ INPUTSRV_OK

#define INPUTSRV_OK   0