1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter 8. 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 8. Input Subsystem</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch07s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <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 8. 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-struct-input-value.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Frame Buffer Fonts </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">struct input_value</span></td></tr></table></div></body></html> 74