1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter&#160;8.&#160;Input Subsystem</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="index.html" title="Linux Device Drivers"><link rel="prev" href="ch07s05.html" title="Frame Buffer Fonts"><link rel="next" href="API-struct-input-value.html" title="struct input_value"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;8.&#160;Input Subsystem</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s05.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-struct-input-value.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="input_subsystem"></a>Chapter&#160;8.&#160;Input Subsystem</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="input_subsystem.html#idp1114168316">Input core</a></span></dt><dt><span class="sect1"><a href="ch08s02.html">Multitouch Library</a></span></dt><dt><span class="sect1"><a href="ch08s03.html">Polled input devices</a></span></dt><dt><span class="sect1"><a href="ch08s04.html">Matrix keyboars/keypads</a></span></dt><dt><span class="sect1"><a href="ch08s05.html">Sparse keymap support</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp1114168316"></a>Input core</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-struct-input-value.html"><span class="phrase">struct input_value</span></a></span><span class="refpurpose"> &#8212; 
2  input value representation
3 </span></dt><dt><span class="refentrytitle"><a href="API-struct-input-dev.html"><span class="phrase">struct input_dev</span></a></span><span class="refpurpose"> &#8212; 
4     represents an input device
5 </span></dt><dt><span class="refentrytitle"><a href="API-struct-input-handler.html"><span class="phrase">struct input_handler</span></a></span><span class="refpurpose"> &#8212; 
6     implements one of interfaces for input devices
7 </span></dt><dt><span class="refentrytitle"><a href="API-struct-input-handle.html"><span class="phrase">struct input_handle</span></a></span><span class="refpurpose"> &#8212; 
8     links input device with an input handler
9 </span></dt><dt><span class="refentrytitle"><a href="API-input-set-events-per-packet.html"><span class="phrase">input_set_events_per_packet</span></a></span><span class="refpurpose"> &#8212; 
10     tell handlers about the driver event rate
11 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ff-device.html"><span class="phrase">struct ff_device</span></a></span><span class="refpurpose"> &#8212; 
12     force-feedback part of an input device
13 </span></dt><dt><span class="refentrytitle"><a href="API-input-event.html"><span class="phrase">input_event</span></a></span><span class="refpurpose"> &#8212; 
14  report new input event
15 </span></dt><dt><span class="refentrytitle"><a href="API-input-inject-event.html"><span class="phrase">input_inject_event</span></a></span><span class="refpurpose"> &#8212; 
16     send input event from input handler
17 </span></dt><dt><span class="refentrytitle"><a href="API-input-alloc-absinfo.html"><span class="phrase">input_alloc_absinfo</span></a></span><span class="refpurpose"> &#8212; 
18     allocates array of input_absinfo structs
19 </span></dt><dt><span class="refentrytitle"><a href="API-input-grab-device.html"><span class="phrase">input_grab_device</span></a></span><span class="refpurpose"> &#8212; 
20     grabs device for exclusive use
21 </span></dt><dt><span class="refentrytitle"><a href="API-input-release-device.html"><span class="phrase">input_release_device</span></a></span><span class="refpurpose"> &#8212; 
22     release previously grabbed device
23 </span></dt><dt><span class="refentrytitle"><a href="API-input-open-device.html"><span class="phrase">input_open_device</span></a></span><span class="refpurpose"> &#8212; 
24     open input device
25 </span></dt><dt><span class="refentrytitle"><a href="API-input-close-device.html"><span class="phrase">input_close_device</span></a></span><span class="refpurpose"> &#8212; 
26     close input device
27 </span></dt><dt><span class="refentrytitle"><a href="API-input-scancode-to-scalar.html"><span class="phrase">input_scancode_to_scalar</span></a></span><span class="refpurpose"> &#8212; 
28     converts scancode in <span class="structname">struct input_keymap_entry</span>
29 </span></dt><dt><span class="refentrytitle"><a href="API-input-get-keycode.html"><span class="phrase">input_get_keycode</span></a></span><span class="refpurpose"> &#8212; 
30     retrieve keycode currently mapped to a given scancode
31 </span></dt><dt><span class="refentrytitle"><a href="API-input-set-keycode.html"><span class="phrase">input_set_keycode</span></a></span><span class="refpurpose"> &#8212; 
32     attribute a keycode to a given scancode
33 </span></dt><dt><span class="refentrytitle"><a href="API-input-reset-device.html"><span class="phrase">input_reset_device</span></a></span><span class="refpurpose"> &#8212; 
34     reset/restore the state of input device
35 </span></dt><dt><span class="refentrytitle"><a href="API-input-allocate-device.html"><span class="phrase">input_allocate_device</span></a></span><span class="refpurpose"> &#8212; 
36     allocate memory for new input device
37 </span></dt><dt><span class="refentrytitle"><a href="API-devm-input-allocate-device.html"><span class="phrase">devm_input_allocate_device</span></a></span><span class="refpurpose"> &#8212; 
38     allocate managed input device
39 </span></dt><dt><span class="refentrytitle"><a href="API-input-free-device.html"><span class="phrase">input_free_device</span></a></span><span class="refpurpose"> &#8212; 
40     free memory occupied by input_dev structure
41 </span></dt><dt><span class="refentrytitle"><a href="API-input-set-capability.html"><span class="phrase">input_set_capability</span></a></span><span class="refpurpose"> &#8212; 
42     mark device as capable of a certain event
43 </span></dt><dt><span class="refentrytitle"><a href="API-input-register-device.html"><span class="phrase">input_register_device</span></a></span><span class="refpurpose"> &#8212; 
44     register device with input core
45 </span></dt><dt><span class="refentrytitle"><a href="API-input-unregister-device.html"><span class="phrase">input_unregister_device</span></a></span><span class="refpurpose"> &#8212; 
46     unregister previously registered device
47 </span></dt><dt><span class="refentrytitle"><a href="API-input-register-handler.html"><span class="phrase">input_register_handler</span></a></span><span class="refpurpose"> &#8212; 
48     register a new input handler
49 </span></dt><dt><span class="refentrytitle"><a href="API-input-unregister-handler.html"><span class="phrase">input_unregister_handler</span></a></span><span class="refpurpose"> &#8212; 
50     unregisters an input handler
51 </span></dt><dt><span class="refentrytitle"><a href="API-input-handler-for-each-handle.html"><span class="phrase">input_handler_for_each_handle</span></a></span><span class="refpurpose"> &#8212; 
52     handle iterator
53 </span></dt><dt><span class="refentrytitle"><a href="API-input-register-handle.html"><span class="phrase">input_register_handle</span></a></span><span class="refpurpose"> &#8212; 
54     register a new input handle
55 </span></dt><dt><span class="refentrytitle"><a href="API-input-unregister-handle.html"><span class="phrase">input_unregister_handle</span></a></span><span class="refpurpose"> &#8212; 
56     unregister an input handle
57 </span></dt><dt><span class="refentrytitle"><a href="API-input-get-new-minor.html"><span class="phrase">input_get_new_minor</span></a></span><span class="refpurpose"> &#8212; 
58     allocates a new input minor number
59 </span></dt><dt><span class="refentrytitle"><a href="API-input-free-minor.html"><span class="phrase">input_free_minor</span></a></span><span class="refpurpose"> &#8212; 
60     release previously allocated minor
61 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-upload.html"><span class="phrase">input_ff_upload</span></a></span><span class="refpurpose"> &#8212; 
62  upload effect into force-feedback device
63 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-erase.html"><span class="phrase">input_ff_erase</span></a></span><span class="refpurpose"> &#8212; 
64     erase a force-feedback effect from device
65 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-event.html"><span class="phrase">input_ff_event</span></a></span><span class="refpurpose"> &#8212; 
66     generic handler for force-feedback events
67 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-create.html"><span class="phrase">input_ff_create</span></a></span><span class="refpurpose"> &#8212; 
68     create force-feedback device
69 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-destroy.html"><span class="phrase">input_ff_destroy</span></a></span><span class="refpurpose"> &#8212; 
70     frees force feedback portion of input device
71 </span></dt><dt><span class="refentrytitle"><a href="API-input-ff-create-memless.html"><span class="phrase">input_ff_create_memless</span></a></span><span class="refpurpose"> &#8212; 
72  create memoryless force-feedback device
73 </span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch07s05.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="API-struct-input-value.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Frame Buffer Fonts&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">struct input_value</span></td></tr></table></div></body></html>
74