Wolfgang Thallergcc 15.1.0ada185d1 year agoHistory
236 lines · 5.0 KB · D
RawDownload
module core.sys.linux.input; version (linux):extern(C):nothrow: import core.sys.linux.sys.time;import core.sys.posix.sys.ioctl; public import core.sys.linux.input_event_codes; struct input_event{    timeval time;    ushort type;    ushort code;    int value;} enum EV_VERSION     = 0x010001; struct input_id{    ushort bustype;    ushort vendor;    ushort product;    ushort version_;} struct input_absinfo{    int value;    int minimum;    int maximum;    int fuzz;    int flat;    int resolution;} enum INPUT_KEYMAP_BY_INDEX = (1 << 0);struct input_keymap_entry{    ubyte  flags;    ubyte  len;    ushort index;    uint keycode;    ubyte[32]  scancode;} struct input_mask{    uint type;    uint codes_size;    ulong codes_ptr;} enum EVIOCGVERSION       = _IOR!int('E', 0x01);enum EVIOCGID            = _IOR!input_id('E', 0x02);enum EVIOCGREP           = _IOR!(uint[2])('E', 0x03);enum EVIOCSREP           = _IOW!(uint[2])('E', 0x03); enum EVIOCGKEYCODE       = _IOR!(uint[2])('E', 0x04);enum EVIOCGKEYCODE_V2    = _IOR!input_keymap_entry('E', 0x04);enum EVIOCSKEYCODE       = _IOW!(uint[2])('E', 0x04);enum EVIOCSKEYCODE_V2    = _IOW!input_keymap_entry('E', 0x04); enum EVIOCGNAME(len)     = _IOC(_IOC_READ, 'E', 0x06, len);enum EVIOCGPHYS(len)     = _IOC(_IOC_READ, 'E', 0x07, len);enum EVIOCGUNIQ(len)     = _IOC(_IOC_READ, 'E', 0x08, len);enum EVIOCGPROP(len)     = _IOC(_IOC_READ, 'E', 0x09, len); enum EVIOCGMTSLOTS(len)  = _IOC(_IOC_READ, 'E', 0x0a, len); enum EVIOCGKEY(len)      = _IOC(_IOC_READ, 'E', 0x18, len);enum EVIOCGLED(len)      = _IOC(_IOC_READ, 'E', 0x19, len);enum EVIOCGSND(len)      = _IOC(_IOC_READ, 'E', 0x1a, len);enum EVIOCGSW(len)       = _IOC(_IOC_READ, 'E', 0x1b, len); enum EVIOCGBIT(ev,len)   = _IOC(_IOC_READ, 'E', 0x20 + (ev), len);enum EVIOCGABS(abs)      = _IOR!input_absinfo('E', 0x40 + (abs));enum EVIOCSABS(abs)      = _IOW!input_absinfo('E', 0xc0 + (abs)); enum EVIOCSFF            = _IOW!ff_effect('E', 0x80);enum EVIOCRMFF           = _IOW!int('E', 0x81);enum EVIOCGEFFECTS       = _IOR!int('E', 0x84); enum EVIOCGRAB           = _IOW!int('E', 0x90);enum EVIOCREVOKE         = _IOW!int('E', 0x91); enum EVIOCGMASK      = _IOR!input_mask('E', 0x92); enum EVIOCSMASK      = _IOW!input_mask('E', 0x93); enum EVIOCSCLOCKID   = _IOW!int('E', 0xa0); enum ID_BUS          = 0;enum ID_VENDOR       = 1;enum ID_PRODUCT      = 2;enum ID_VERSION      = 3; enum BUS_PCI         = 0x01;enum BUS_ISAPNP      = 0x02;enum BUS_USB         = 0x03;enum BUS_HIL         = 0x04;enum BUS_BLUETOOTH   = 0x05;enum BUS_VIRTUAL     = 0x06; enum BUS_ISA         = 0x10;enum BUS_I8042       = 0x11;enum BUS_XTKBD       = 0x12;enum BUS_RS232       = 0x13;enum BUS_GAMEPORT    = 0x14;enum BUS_PARPORT     = 0x15;enum BUS_AMIGA       = 0x16;enum BUS_ADB         = 0x17;enum BUS_I2C         = 0x18;enum BUS_HOST        = 0x19;enum BUS_GSC         = 0x1A;enum BUS_ATARI       = 0x1B;enum BUS_SPI         = 0x1C;enum BUS_RMI         = 0x1D;enum BUS_CEC         = 0x1E;enum BUS_INTEL_ISHTP = 0x1F; enum MT_TOOL_FINGER  = 0;enum MT_TOOL_PEN     = 1;enum MT_TOOL_PALM    = 2;enum MT_TOOL_MAX     = 2; enum FF_STATUS_STOPPED   = 0x00;enum FF_STATUS_PLAYING   = 0x01;enum FF_STATUS_MAX       = 0x01; struct ff_replay {    ushort length;    ushort delay;}; struct ff_trigger {    ushort button;    ushort interval;}; struct ff_envelope {    ushort attack_length;    ushort attack_level;    ushort fade_length;    ushort fade_level;}; struct ff_constant_effect {    short level;    ff_envelope envelope;}; struct ff_ramp_effect {    short start_level;    short end_level;    ff_envelope envelope;}; struct ff_condition_effect {    ushort right_saturation;    ushort left_saturation;     short right_coeff;    short left_coeff;     ushort deadband;    short center;}; struct ff_periodic_effect {    ushort waveform;    ushort period;    short magnitude;    short offset;    ushort phase;     ff_envelope envelope;     uint custom_len;    short *custom_data;}; struct ff_rumble_effect {    ushort strong_magnitude;    ushort weak_magnitude;}; struct ff_effect {    ushort type;    short id;    ushort direction;    ff_trigger trigger;    ff_replay replay;     union U {        ff_constant_effect constant;        ff_ramp_effect ramp;        ff_periodic_effect periodic;        ff_condition_effect[2] condition;        ff_rumble_effect rumble;    }    U u;}; enum FF_RUMBLE   = 0x50;enum FF_PERIODIC = 0x51;enum FF_CONSTANT = 0x52;enum FF_SPRING   = 0x53;enum FF_FRICTION = 0x54;enum FF_DAMPER   = 0x55;enum FF_INERTIA  = 0x56;enum FF_RAMP     = 0x57; enum FF_EFFECT_MIN   = FF_RUMBLE;enum FF_EFFECT_MAX   = FF_RAMP; enum FF_SQUARE   = 0x58;enum FF_TRIANGLE = 0x59;enum FF_SINE     = 0x5a;enum FF_SAW_UP   = 0x5b;enum FF_SAW_DOWN = 0x5c;enum FF_CUSTOM   = 0x5d; enum FF_WAVEFORM_MIN = FF_SQUARE;enum FF_WAVEFORM_MAX = FF_CUSTOM; enum FF_GAIN     = 0x60;enum FF_AUTOCENTER   = 0x61; enum FF_MAX_EFFECTS  = FF_GAIN; enum FF_MAX      = 0x7f;enum FF_CNT      = (FF_MAX+1);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t