1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>input_mt_assign_slots</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="ch08s02.html" title="Multitouch Library"><link rel="prev" href="API-input-mt-sync-frame.html" title="input_mt_sync_frame"><link rel="next" href="API-input-mt-get-slot-by-key.html" title="input_mt_get_slot_by_key"></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"><span class="phrase">input_mt_assign_slots</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-input-mt-sync-frame.html">Prev</a> </td><th width="60%" align="center">Multitouch Library</th><td width="20%" align="right"> <a accesskey="n" href="API-input-mt-get-slot-by-key.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-input-mt-assign-slots"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>input_mt_assign_slots — 2 perform a best-match assignment 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">input_mt_assign_slots </b>(</code></td><td>struct input_dev * <var class="pdparam">dev</var>, </td></tr><tr><td> </td><td>int * <var class="pdparam">slots</var>, </td></tr><tr><td> </td><td>const struct input_mt_pos * <var class="pdparam">pos</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">num_pos</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">dmax</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1114635676"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p> 4 input device with allocated MT slots 5 </p></dd><dt><span class="term"><em class="parameter"><code>slots</code></em></span></dt><dd><p> 6 the slot assignment to be filled 7 </p></dd><dt><span class="term"><em class="parameter"><code>pos</code></em></span></dt><dd><p> 8 the position array to match 9 </p></dd><dt><span class="term"><em class="parameter"><code>num_pos</code></em></span></dt><dd><p> 10 number of positions 11 </p></dd><dt><span class="term"><em class="parameter"><code>dmax</code></em></span></dt><dd><p> 12 maximum ABS_MT_POSITION displacement (zero for infinite) 13 </p></dd></dl></div></div><div class="refsect1"><a name="idp1114641420"></a><h2>Description</h2><p> 14 Performs a best match against the current contacts and returns 15 the slot assignment list. New contacts are assigned to unused 16 slots. 17 </p><p> 18 19 The assignments are balanced so that all coordinate displacements are 20 below the euclidian distance dmax. If no such assignment can be found, 21 some contacts are assigned to unused slots. 22 </p><p> 23 24 Returns zero on success, or negative error in case of failure. 25</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-input-mt-sync-frame.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch08s02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-input-mt-get-slot-by-key.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">input_mt_sync_frame</span> </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">input_mt_get_slot_by_key</span></td></tr></table></div></body></html> 26