#ifndef _INPUT_H#define _INPUT_H/* * Copyright (c) 1999-2002 Vojtech Pavlik * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published by * the Free Software Foundation. */#ifdef __KERNEL__#include <linux/time.h>#include <linux/list.h>#else#include <sys/time.h>#include <sys/ioctl.h>#include <sys/types.h>#include <linux/types.h>#endif/* * The event structure itself */struct input_event {struct timeval time;
__u16 type;
__u16 code;
__s32 value;};/* * Protocol version. */#define EV_VERSION 0x010001/* * IOCTLs (0x00 - 0x7f) */struct input_id {
__u16 bustype;
__u16 vendor;
__u16 product;
__u16 version;};/** * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls * @value: latest reported value for the axis. * @minimum: specifies minimum value for the axis. * @maximum: specifies maximum value for the axis. * @fuzz: specifies fuzz value that is used to filter noise from * the event stream. * @flat: values that are within this value will be discarded by * joydev interface and reported as 0 instead. * @resolution: specifies resolu