struct input_handler — implements one of interfaces for input devices
struct input_handler {
void * private;
void (* event) (struct input_handle *handle, unsigned int type, unsigned int code, int value);
int (* connect) (struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id);
void (* disconnect) (struct input_handle *handle);
void (* start) (struct input_handle *handle);
const struct file_operations * fops;
int minor;
const char * name;
const struct input_device_id * id_table;
const struct input_device_id * blacklist;
struct list_head h_list;
struct list_head node;
}; driver-specific data
event handler
called when attaching a handler to an input device
disconnects a handler from input device
starts handler for given handle. This function is called by
input core right after connect method and also when a process
that “grabbed” a device releases it
file operations this driver implements
beginning of range of 32 minors for devices this driver can provide
name of the handler, to be shown in /proc/bus/input/handlers
pointer to a table of input_device_ids this driver can handle
prointer to a table of input_device_ids this driver should
ignore even if they match id_table
list of input handles associated with the handler
for placing the driver onto input_handler_list