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