Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

Input class
[Linux 2.6 support]

Input class. More...

Data Structures

struct  input_proc_info_s
 Key information about input devices from /proc that is not available in sysfs. More...


Typedefs

typedef input_proc_info_s input_proc_info
 Key information about input devices from /proc that is not available in sysfs.


Functions

input_proc_infoget_input_proc_cur_info_obj ()
 Allocate and initialize an input_proc_info object.

void input_proc_handle_interface (input_proc_info *info, char *s)
 Parse the interface field.

void input_proc_handle_name (input_proc_info *info, char *s)
 Parse the name field.

void input_proc_handle_phys (input_proc_info *info, char *s)
 Parse the physical information field.

void input_proc_handle_handlers (input_proc_info *info, char *s)
 Parse the handlers field.

void input_proc_handle_bits (input_proc_info *info, char *s)
 Parse a bits field.

void input_proc_device_done (input_proc_info *info)
 Called when an entry from /proc/bus/input/devices have been parsed.

void input_proc_parse_line (char *s)
 Parse a line from /proc/bus/input/devices.

void input_proc_parse ()
 Parse /proc/bus/input/devices.

void input_got_sysdevice (HalDevice *device, void *data1, void *data2)
 Callback when the sysdevice is found or if there is no parent..

void process_input_proc_info (input_proc_info *i)
 Process an input device field.

void linux_class_input_probe ()
 Probe for input devices by looking at /proc/bus/input/devices.

void linux_class_input_handle_hotplug_add (char *name, char *phys, char *key, int ev, int rel, int abs, int led)
 Handle input hotplug event add.

void linux_class_input_init ()
 Init function for block device handling.

void linux_class_input_detection_done ()
 This function is called when all device detection on startup is done in order to perform optional batch processing on devices.

void linux_class_input_shutdown ()
 Shutdown function for block device handling.


Variables

input_proc_infoinput_proc_head = NULL
 First element in input proc linked list.

input_proc_infoinput_proc_cur_info = NULL
 Unique device id of the device we are working on.


Detailed Description

Input class.


Function Documentation

input_proc_info* get_input_proc_cur_info_obj  )  [static]
 

Allocate and initialize an input_proc_info object.

Returns:
Pointer input_proc_info object

Definition at line 81 of file linux_class_input.c.

References input_proc_info_s::absbit, input_proc_info_s::bus, DIE, input_proc_info_s::evbit, input_proc_info_s::handlers, input_proc_info, input_proc_info_s::keybit, input_proc_info_s::ledbit, input_proc_info_s::name, input_proc_info_s::phys_name, input_proc_info_s::product, input_proc_info_s::relbit, input_proc_info_s::vendor, and input_proc_info_s::version.

Referenced by input_proc_parse_line(), and linux_class_input_handle_hotplug_add().

void input_got_sysdevice HalDevice sysdevice,
void *  data1,
void *  data2
[static]
 

Callback when the sysdevice is found or if there is no parent..

This is where we get added to the GDL..

Parameters:
parent Async Return value from the find call
data1 User data
data2 User data

Definition at line 594 of file linux_class_input.c.

References ds_device_destroy(), ds_device_merge(), and HalDevice.

Referenced by process_input_proc_info().

void input_proc_device_done input_proc_info info  )  [static]
 

Called when an entry from /proc/bus/input/devices have been parsed.

Parameters:
info Structure representing the entry

Definition at line 231 of file linux_class_input.c.

References input_proc_head, input_proc_info, and input_proc_info_s::next.

Referenced by input_proc_parse(), and input_proc_parse_line().

void input_proc_handle_bits input_proc_info info,
char *  s
[static]
 

Parse a bits field.

Parameters:
info Structure to put information into
s Line from /proc/bus/input/devices starting with "N:"

Definition at line 189 of file linux_class_input.c.

References input_proc_info_s::absbit, input_proc_info_s::evbit, find_num(), input_proc_info, input_proc_info_s::keybit, input_proc_info_s::ledbit, and input_proc_info_s::relbit.

Referenced by input_proc_parse_line().

void input_proc_handle_handlers input_proc_info info,
char *  s
[static]
 

Parse the handlers field.

Parameters:
info Structure to put information into
s Line from /proc/bus/input/devices starting with "H:"

Definition at line 173 of file linux_class_input.c.

References find_string(), input_proc_info_s::handlers, and input_proc_info.

Referenced by input_proc_parse_line().

void input_proc_handle_interface input_proc_info info,
char *  s
[static]
 

Parse the interface field.

Parameters:
info Structure to put information into
s Line from /proc/bus/input/devices starting with "I:"

Definition at line 119 of file linux_class_input.c.

References input_proc_info_s::bus, find_num(), input_proc_info, input_proc_info_s::product, input_proc_info_s::vendor, and input_proc_info_s::version.

Referenced by input_proc_parse_line().

void input_proc_handle_name input_proc_info info,
char *  s
[static]
 

Parse the name field.

Parameters:
info Structure to put information into
s Line from /proc/bus/input/devices starting with "N:"

Definition at line 133 of file linux_class_input.c.

References find_string(), input_proc_info, and input_proc_info_s::name.

Referenced by input_proc_parse_line().

void input_proc_handle_phys input_proc_info info,
char *  s
[static]
 

Parse the physical information field.

Parameters:
info Structure to put information into
s Line from /proc/bus/input/devices starting with "P:"

Definition at line 157 of file linux_class_input.c.

References find_string(), input_proc_info, and input_proc_info_s::phys_name.

Referenced by input_proc_parse_line().

void input_proc_parse_line char *  s  )  [static]
 

Parse a line from /proc/bus/input/devices.

Parameters:
s Line from /proc/bus/input/devices

Definition at line 242 of file linux_class_input.c.

References get_input_proc_cur_info_obj(), input_proc_cur_info, input_proc_device_done(), input_proc_handle_bits(), input_proc_handle_handlers(), input_proc_handle_interface(), input_proc_handle_name(), and input_proc_handle_phys().

Referenced by input_proc_parse().

void linux_class_input_handle_hotplug_add char *  name,
char *  phys,
char *  key,
int  ev,
int  rel,
int  abs,
int  led
 

Handle input hotplug event add.

Parameters:
name $NAME from hotplug event
phys $PHYS from hotplug event
key $KEY from hotplug event
ev $EV from hotplug event (or 0 if not found)
rel $REL from hotplug event (or 0 if not found)
abs $ABS from hotplug event (or 0 if not found)
led $LED from hotplug event (or 0 if not found)

Todo:
FIXME; parse product (we don't use it yet)

Definition at line 641 of file linux_class_input.c.

References input_proc_info_s::absbit, input_proc_info_s::evbit, get_input_proc_cur_info_obj(), input_proc_info, input_proc_info_s::keybit, input_proc_info_s::ledbit, input_proc_info_s::name, input_proc_info_s::phys_name, process_input_proc_info(), and input_proc_info_s::relbit.

Referenced by handle_hotplug().

void linux_class_input_probe  ) 
 

Probe for input devices by looking at /proc/bus/input/devices.

Do not call this before all physical devices are probed as no new HAL devices will be created..

Definition at line 620 of file linux_class_input.c.

References input_proc_head, input_proc_info, input_proc_parse(), input_proc_info_s::next, and process_input_proc_info().

Referenced by osspec_probe().

void process_input_proc_info input_proc_info i  )  [static]
 

Process an input device field.

Parameters:
i input device field

Todo:
Figure out if this input device is a mouse, a keyboard or.. bzzzttt.. an UPS.. We can wawe our hands a bit because this can always be overridden by a .fdi file..

FIXME: is there any other key information we want to give here? Like major:minor number of device?

Definition at line 393 of file linux_class_input.c.

References input_proc_info_s::absbit, ds_add_capability(), ds_device_async_find_by_key_value_string(), ds_device_new(), ds_property_set_bool(), ds_property_set_int(), ds_property_set_string(), input_proc_info_s::evbit, HAL_LINUX_HOTPLUG_TIMEOUT, HalDevice, input_proc_info_s::handlers, input_got_sysdevice(), input_proc_info, is_probing, input_proc_info_s::keybit, input_proc_info_s::ledbit, input_proc_info_s::phys_name, and input_proc_info_s::relbit.

Referenced by linux_class_input_handle_hotplug_add(), and linux_class_input_probe().


Generated on Sat Feb 7 22:11:51 2004 for HAL by doxygen 1.3.5