STRUCT INPUT_HANDLER(9) Input Subsystem STRUCT INPUT_HANDLER(9)NAMEstruct_input_handler - implements one of interfaces for input devices
SYNOPSIS
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;
};
MEMBERS
private
driver-specific data
event
event handler. This method is being called by input core with
interrupts disabled and dev->event_lock spinlock held and so it may
not sleep
connect
called when attaching a handler to an input device
disconnect
disconnects a handler from input device
start
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
fops
file operations this driver implements
minor
beginning of range of 32 minors for devices this driver can provide
name
name of the handler, to be shown in /proc/bus/input/handlers
id_table
pointer to a table of input_device_ids this driver can handle
blacklist
pointer to a table of input_device_ids this driver should ignore
even if they match id_table
h_list
list of input handles associated with the handler
node
for placing the driver onto input_handler_list
DESCRIPTION
Input handlers attach to input devices and create input handles. There
are likely several handlers attached to any given input device at the
same time. All of them will get their copy of input event generated by
the device.
Note that input core serializes calls to connect and disconnect
methods.
COPYRIGHTKernel Hackers Manual 2.6. November 2013 STRUCT INPUT_HANDLER(9)