| module core.sys.linux.uinput; | |
| version (linux): | |
| extern(C): | |
| nothrow: | |
| import core.sys.posix.sys.ioctl; | |
| public import core.sys.linux.input; | |
| public import core.sys.linux.input_event_codes; | |
| enum UINPUT_VERSION = 5; | |
| enum UINPUT_MAX_NAME_SIZE = 80; | |
| struct uinput_ff_upload | |
| { | |
| uint request_id; | |
| int retval; | |
| ff_effect effect; | |
| ff_effect old; | |
| } | |
| struct uinput_ff_erase | |
| { | |
| uint request_id; | |
| int retval; | |
| uint effect_id; | |
| } | |
| enum UINPUT_IOCTL_BASE = 'U'; | |
| enum UI_DEV_CREATE = _IO(UINPUT_IOCTL_BASE, 1); | |
| enum UI_DEV_DESTROY = _IO(UINPUT_IOCTL_BASE, 2); | |
| struct uinput_setup | |
| { | |
| input_id id; | |
| char[UINPUT_MAX_NAME_SIZE] name; | |
| uint ff_effects_max; | |
| } | |
| enum UI_DEV_SETUP = _IOW!uinput_setup(UINPUT_IOCTL_BASE, 3); | |
| struct uinput_abs_setup | |
| { | |
| ushort code; | |
| input_absinfo absinfo; | |
| } | |
| enum UI_ABS_SETUP = _IOW!uinput_abs_setup(UINPUT_IOCTL_BASE, 4); | |
| enum UI_SET_EVBIT = _IOW!int(UINPUT_IOCTL_BASE, 100); | |
| enum UI_SET_KEYBIT = _IOW!int(UINPUT_IOCTL_BASE, 101); | |
| enum UI_SET_RELBIT = _IOW!int(UINPUT_IOCTL_BASE, 102); | |
| enum UI_SET_ABSBIT = _IOW!int(UINPUT_IOCTL_BASE, 103); | |
| enum UI_SET_MSCBIT = _IOW!int(UINPUT_IOCTL_BASE, 104); | |
| enum UI_SET_LEDBIT = _IOW!int(UINPUT_IOCTL_BASE, 105); | |
| enum UI_SET_SNDBIT = _IOW!int(UINPUT_IOCTL_BASE, 106); | |
| enum UI_SET_FFBIT = _IOW!int(UINPUT_IOCTL_BASE, 107); | |
| enum UI_SET_PHYS = _IOW!(char*)(UINPUT_IOCTL_BASE, 108); | |
| enum UI_SET_SWBIT = _IOW!int(UINPUT_IOCTL_BASE, 109); | |
| enum UI_SET_PROPBIT = _IOW!int(UINPUT_IOCTL_BASE, 110); | |
| enum UI_BEGIN_FF_UPLOAD = _IOWR!uinput_ff_upload(UINPUT_IOCTL_BASE, 200); | |
| enum UI_END_FF_UPLOAD = _IOW!uinput_ff_upload(UINPUT_IOCTL_BASE, 201); | |
| enum UI_BEGIN_FF_ERASE = _IOWR!uinput_ff_erase(UINPUT_IOCTL_BASE, 202); | |
| enum UI_END_FF_ERASE = _IOW!uinput_ff_erase(UINPUT_IOCTL_BASE, 203); | |
| enum UI_GET_SYSNAME(len) = _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 44, len); | |
| enum UI_GET_VERSION = _IOR!uint(UINPUT_IOCTL_BASE, 45); | |
| enum EV_UINPUT = 0x0101; | |
| enum UI_FF_UPLOAD = 1; | |
| enum UI_FF_ERASE = 2; | |
| struct uinput_user_dev { | |
| char[UINPUT_MAX_NAME_SIZE] name; | |
| input_id id; | |
| uint ff_effects_max; | |
| int[ABS_CNT] absmax; | |
| int[ABS_CNT] absmin; | |
| int[ABS_CNT] absfuzz; | |
| int[ABS_CNT] absflat; | |
| } |