sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget'/translations/zh_CN/input/devices/ntrigmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/zh_TW/input/devices/ntrigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/it_IT/input/devices/ntrigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ja_JP/input/devices/ntrigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/ko_KR/input/devices/ntrigmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget'/translations/sp_SP/input/devices/ntrigmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h4This data file has been placed in the public domain.h]h4This data file has been placed in the public domain.}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhho/srv/docbuild/lib/venvs/build-kernel-docs/lib64/python3.9/site-packages/docutils/parsers/rst/include/isonum.txthKubh)}(hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .h]hDerived from the Unicode character mappings available from . Processed by unicode2rstsubs.py, part of Docutils: .}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhsubstitution_definition)}(h*.. |amp| unicode:: U+00026 .. AMPERSANDh]h&}hhsbah}(h]h ]h"]ampah$]h&]uh1hhhhKhhhhubh)}(h+.. |apos| unicode:: U+00027 .. APOSTROPHEh]h'}hhsbah}(h]h ]h"]aposah$]h&]uh1hhhhKhhhhubh)}(h).. |ast| unicode:: U+0002A .. ASTERISKh]h*}hhsbah}(h]h ]h"]astah$]h&]uh1hhhhK hhhhubh)}(h+.. |brvbar| unicode:: U+000A6 .. BROKEN BARh]h¦}hhsbah}(h]h ]h"]brvbarah$]h&]uh1hhhhK hhhhubh)}(h0.. |bsol| unicode:: U+0005C .. REVERSE SOLIDUSh]h\}hjsbah}(h]h ]h"]bsolah$]h&]uh1hhhhK hhhhubh)}(h*.. |cent| unicode:: U+000A2 .. CENT SIGNh]h¢}hjsbah}(h]h ]h"]centah$]h&]uh1hhhhK hhhhubh)}(h&.. |colon| unicode:: U+0003A .. COLONh]h:}hjsbah}(h]h ]h"]colonah$]h&]uh1hhhhK hhhhubh)}(h&.. |comma| unicode:: U+0002C .. COMMAh]h,}hj-sbah}(h]h ]h"]commaah$]h&]uh1hhhhKhhhhubh)}(h... |commat| unicode:: U+00040 .. COMMERCIAL ATh]h@}hj<sbah}(h]h ]h"]commatah$]h&]uh1hhhhKhhhhubh)}(h/.. |copy| unicode:: U+000A9 .. COPYRIGHT SIGNh]h©}hjKsbah}(h]h ]h"]copyah$]h&]uh1hhhhKhhhhubh)}(h... |curren| unicode:: U+000A4 .. CURRENCY SIGNh]h¤}hjZsbah}(h]h ]h"]currenah$]h&]uh1hhhhKhhhhubh)}(h0.. |darr| unicode:: U+02193 .. DOWNWARDS ARROWh]h↓}hjisbah}(h]h ]h"]darrah$]h&]uh1hhhhKhhhhubh)}(h,.. |deg| unicode:: U+000B0 .. DEGREE SIGNh]h°}hjxsbah}(h]h ]h"]degah$]h&]uh1hhhhKhhhhubh)}(h... |divide| unicode:: U+000F7 .. DIVISION SIGNh]h÷}hjsbah}(h]h ]h"]divideah$]h&]uh1hhhhKhhhhubh)}(h,.. |dollar| unicode:: U+00024 .. DOLLAR SIGNh]h$}hjsbah}(h]h ]h"]dollarah$]h&]uh1hhhhKhhhhubh)}(h,.. |equals| unicode:: U+0003D .. EQUALS SIGNh]h=}hjsbah}(h]h ]h"]equalsah$]h&]uh1hhhhKhhhhubh)}(h1.. |excl| unicode:: U+00021 .. EXCLAMATION MARKh]h!}hjsbah}(h]h ]h"]exclah$]h&]uh1hhhhKhhhhubh)}(h9.. |frac12| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hjsbah}(h]h ]h"]frac12ah$]h&]uh1hhhhKhhhhubh)}(h<.. |frac14| unicode:: U+000BC .. VULGAR FRACTION ONE QUARTERh]h¼}hjsbah}(h]h ]h"]frac14ah$]h&]uh1hhhhKhhhhubh)}(h;.. |frac18| unicode:: U+0215B .. VULGAR FRACTION ONE EIGHTHh]h⅛}hjsbah}(h]h ]h"]frac18ah$]h&]uh1hhhhKhhhhubh)}(h?.. |frac34| unicode:: U+000BE .. VULGAR FRACTION THREE QUARTERSh]h¾}hjsbah}(h]h ]h"]frac34ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac38| unicode:: U+0215C .. VULGAR FRACTION THREE EIGHTHSh]h⅜}hjsbah}(h]h ]h"]frac38ah$]h&]uh1hhhhKhhhhubh)}(h=.. |frac58| unicode:: U+0215D .. VULGAR FRACTION FIVE EIGHTHSh]h⅝}hjsbah}(h]h ]h"]frac58ah$]h&]uh1hhhhKhhhhubh)}(h>.. |frac78| unicode:: U+0215E .. VULGAR FRACTION SEVEN EIGHTHSh]h⅞}hjsbah}(h]h ]h"]frac78ah$]h&]uh1hhhhKhhhhubh)}(h2.. |gt| unicode:: U+0003E .. GREATER-THAN SIGNh]h>}hj,sbah}(h]h ]h"]gtah$]h&]uh1hhhhKhhhhubh)}(h9.. |half| unicode:: U+000BD .. VULGAR FRACTION ONE HALFh]h½}hj;sbah}(h]h ]h"]halfah$]h&]uh1hhhhK hhhhubh)}(h/.. |horbar| unicode:: U+02015 .. HORIZONTAL BARh]h―}hjJsbah}(h]h ]h"]horbarah$]h&]uh1hhhhK!hhhhubh)}(h'.. |hyphen| unicode:: U+02010 .. HYPHENh]h‐}hjYsbah}(h]h ]h"]hyphenah$]h&]uh1hhhhK"hhhhubh)}(h:.. |iexcl| unicode:: U+000A1 .. INVERTED EXCLAMATION MARKh]h¡}hjhsbah}(h]h ]h"]iexclah$]h&]uh1hhhhK#hhhhubh)}(h7.. |iquest| unicode:: U+000BF .. INVERTED QUESTION MARKh]h¿}hjwsbah}(h]h ]h"]iquestah$]h&]uh1hhhhK$hhhhubh)}(hJ.. |laquo| unicode:: U+000AB .. LEFT-POINTING DOUBLE ANGLE QUOTATION MARKh]h«}hjsbah}(h]h ]h"]laquoah$]h&]uh1hhhhK%hhhhubh)}(h0.. |larr| unicode:: U+02190 .. LEFTWARDS ARROWh]h←}hjsbah}(h]h ]h"]larrah$]h&]uh1hhhhK&hhhhubh)}(h3.. |lcub| unicode:: U+0007B .. LEFT CURLY BRACKETh]h{}hjsbah}(h]h ]h"]lcubah$]h&]uh1hhhhK'hhhhubh)}(h;.. |ldquo| unicode:: U+0201C .. LEFT DOUBLE QUOTATION MARKh]h“}hjsbah}(h]h ]h"]ldquoah$]h&]uh1hhhhK(hhhhubh)}(h).. |lowbar| unicode:: U+0005F .. LOW LINEh]h_}hjsbah}(h]h ]h"]lowbarah$]h&]uh1hhhhK)hhhhubh)}(h1.. |lpar| unicode:: U+00028 .. LEFT PARENTHESISh]h(}hjsbah}(h]h ]h"]lparah$]h&]uh1hhhhK*hhhhubh)}(h4.. |lsqb| unicode:: U+0005B .. LEFT SQUARE BRACKETh]h[}hjsbah}(h]h ]h"]lsqbah$]h&]uh1hhhhK+hhhhubh)}(h;.. |lsquo| unicode:: U+02018 .. LEFT SINGLE QUOTATION MARKh]h‘}hjsbah}(h]h ]h"]lsquoah$]h&]uh1hhhhK,hhhhubh)}(h/.. |lt| unicode:: U+0003C .. LESS-THAN SIGNh]h<}hjsbah}(h]h ]h"]ltah$]h&]uh1hhhhK-hhhhubh)}(h+.. |micro| unicode:: U+000B5 .. MICRO SIGNh]hµ}hj sbah}(h]h ]h"]microah$]h&]uh1hhhhK.hhhhubh)}(h+.. |middot| unicode:: U+000B7 .. MIDDLE DOTh]h·}hjsbah}(h]h ]h"]middotah$]h&]uh1hhhhK/hhhhubh)}(h/.. |nbsp| unicode:: U+000A0 .. NO-BREAK SPACEh]h }hj+sbah}(h]h ]h"]nbspah$]h&]uh1hhhhK0hhhhubh)}(h).. |not| unicode:: U+000AC .. NOT SIGNh]h¬}hj:sbah}(h]h ]h"]notah$]h&]uh1hhhhK1hhhhubh)}(h,.. |num| unicode:: U+00023 .. NUMBER SIGNh]h#}hjIsbah}(h]h ]h"]numah$]h&]uh1hhhhK2hhhhubh)}(h).. |ohm| unicode:: U+02126 .. OHM SIGNh]hΩ}hjXsbah}(h]h ]h"]ohmah$]h&]uh1hhhhK3hhhhubh)}(h;.. |ordf| unicode:: U+000AA .. FEMININE ORDINAL INDICATORh]hª}hjgsbah}(h]h ]h"]ordfah$]h&]uh1hhhhK4hhhhubh)}(h<.. |ordm| unicode:: U+000BA .. MASCULINE ORDINAL INDICATORh]hº}hjvsbah}(h]h ]h"]ordmah$]h&]uh1hhhhK5hhhhubh)}(h-.. |para| unicode:: U+000B6 .. PILCROW SIGNh]h¶}hjsbah}(h]h ]h"]paraah$]h&]uh1hhhhK6hhhhubh)}(h-.. |percnt| unicode:: U+00025 .. PERCENT SIGNh]h%}hjsbah}(h]h ]h"]percntah$]h&]uh1hhhhK7hhhhubh)}(h*.. |period| unicode:: U+0002E .. FULL STOPh]h.}hjsbah}(h]h ]h"]periodah$]h&]uh1hhhhK8hhhhubh)}(h*.. |plus| unicode:: U+0002B .. PLUS SIGNh]h+}hjsbah}(h]h ]h"]plusah$]h&]uh1hhhhK9hhhhubh)}(h0.. |plusmn| unicode:: U+000B1 .. PLUS-MINUS SIGNh]h±}hjsbah}(h]h ]h"]plusmnah$]h&]uh1hhhhK:hhhhubh)}(h+.. |pound| unicode:: U+000A3 .. POUND SIGNh]h£}hjsbah}(h]h ]h"]poundah$]h&]uh1hhhhK;hhhhubh)}(h... |quest| unicode:: U+0003F .. QUESTION MARKh]h?}hjsbah}(h]h ]h"]questah$]h&]uh1hhhhKhhhhubh)}(h1.. |rarr| unicode:: U+02192 .. RIGHTWARDS ARROWh]h→}hj sbah}(h]h ]h"]rarrah$]h&]uh1hhhhK?hhhhubh)}(h4.. |rcub| unicode:: U+0007D .. RIGHT CURLY BRACKETh]h}}hjsbah}(h]h ]h"]rcubah$]h&]uh1hhhhK@hhhhubh)}(h<.. |rdquo| unicode:: U+0201D .. RIGHT DOUBLE QUOTATION MARKh]h”}hj*sbah}(h]h ]h"]rdquoah$]h&]uh1hhhhKAhhhhubh)}(h0.. |reg| unicode:: U+000AE .. REGISTERED SIGNh]h®}hj9sbah}(h]h ]h"]regah$]h&]uh1hhhhKBhhhhubh)}(h2.. |rpar| unicode:: U+00029 .. RIGHT PARENTHESISh]h)}hjHsbah}(h]h ]h"]rparah$]h&]uh1hhhhKChhhhubh)}(h5.. |rsqb| unicode:: U+0005D .. RIGHT SQUARE BRACKETh]h]}hjWsbah}(h]h ]h"]rsqbah$]h&]uh1hhhhKDhhhhubh)}(h<.. |rsquo| unicode:: U+02019 .. RIGHT SINGLE QUOTATION MARKh]h’}hjfsbah}(h]h ]h"]rsquoah$]h&]uh1hhhhKEhhhhubh)}(h-.. |sect| unicode:: U+000A7 .. SECTION SIGNh]h§}hjusbah}(h]h ]h"]sectah$]h&]uh1hhhhKFhhhhubh)}(h*.. |semi| unicode:: U+0003B .. SEMICOLONh]h;}hjsbah}(h]h ]h"]semiah$]h&]uh1hhhhKGhhhhubh)}(h,.. |shy| unicode:: U+000AD .. SOFT HYPHENh]h­}hjsbah}(h]h ]h"]shyah$]h&]uh1hhhhKHhhhhubh)}(h(.. |sol| unicode:: U+0002F .. SOLIDUSh]h/}hjsbah}(h]h ]h"]solah$]h&]uh1hhhhKIhhhhubh)}(h,.. |sung| unicode:: U+0266A .. EIGHTH NOTEh]h♪}hjsbah}(h]h ]h"]sungah$]h&]uh1hhhhKJhhhhubh)}(h0.. |sup1| unicode:: U+000B9 .. SUPERSCRIPT ONEh]h¹}hjsbah}(h]h ]h"]sup1ah$]h&]uh1hhhhKKhhhhubh)}(h0.. |sup2| unicode:: U+000B2 .. SUPERSCRIPT TWOh]h²}hjsbah}(h]h ]h"]sup2ah$]h&]uh1hhhhKLhhhhubh)}(h2.. |sup3| unicode:: U+000B3 .. SUPERSCRIPT THREEh]h³}hjsbah}(h]h ]h"]sup3ah$]h&]uh1hhhhKMhhhhubh)}(h4.. |times| unicode:: U+000D7 .. MULTIPLICATION SIGNh]h×}hjsbah}(h]h ]h"]timesah$]h&]uh1hhhhKNhhhhubh)}(h0.. |trade| unicode:: U+02122 .. TRADE MARK SIGNh]h™}hjsbah}(h]h ]h"]tradeah$]h&]uh1hhhhKOhhhhubh)}(h... |uarr| unicode:: U+02191 .. UPWARDS ARROWh]h↑}hj sbah}(h]h ]h"]uarrah$]h&]uh1hhhhKPhhhhubh)}(h... |verbar| unicode:: U+0007C .. VERTICAL LINEh]h|}hjsbah}(h]h ]h"]verbarah$]h&]uh1hhhhKQhhhhubh)}(h*.. |yen| unicode:: U+000A5 .. YEN SIGN h]h¥}hj)sbah}(h]h ]h"]yenah$]h&]uh1hhhhKRhhhhubhsection)}(hhh](htitle)}(hN-Trig touchscreen Driverh]hN-Trig touchscreen Driver}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1j=hj:hhhA/var/lib/git/docbuild/linux/Documentation/input/devices/ntrig.rsthKubh field_list)}(hhh](hfield)}(hhh](h field_name)}(h Copyrighth]h Copyright}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jXhjUhjMhKubh field_body)}(h1|copy| 2008-2010 Rafi Rubin h]h paragraph)}(hjlh](h©}(hjphhhNhNubh 2008-2010 Rafi Rubin <}(hjphhhNhNubh reference)}(hrafi@seas.upenn.eduh]hrafi@seas.upenn.edu}(hj}hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:rafi@seas.upenn.eduuh1j{hjpubh>}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1jnhjMhKhjjubah}(h]h ]h"]h$]h&]uh1jhhjUubeh}(h]h ]h"]h$]h&]uh1jShjMhKhjPhhubjT)}(hhh](jY)}(h Copyrighth]h Copyright}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jXhjhjMhKubji)}(h!|copy| 2009-2010 Stephane Chatty h]jo)}(h |copy| 2009-2010 Stephane Chattyh](h©}(hjhhhNhNubh 2009-2010 Stephane Chatty}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jnhjMhKhjubah}(h]h ]h"]h$]h&]uh1jhhjubeh}(h]h ]h"]h$]h&]uh1jShjMhKhjPhhubeh}(h]h ]h"]h$]h&]uh1jNhj:hhhjMhKubjo)}(hXiThis driver provides support for N-Trig pen and multi-touch sensors. Single and multi-touch events are translated to the appropriate protocols for the hid and input systems. Pen events are sufficiently hid compliant and are left to the hid core. The driver also provides additional filtering and utility functions accessible with sysfs and module parameters.h]hXiThis driver provides support for N-Trig pen and multi-touch sensors. Single and multi-touch events are translated to the appropriate protocols for the hid and input systems. Pen events are sufficiently hid compliant and are left to the hid core. The driver also provides additional filtering and utility functions accessible with sysfs and module parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK hj:hhubjo)}(hUThis driver has been reported to work properly with multiple N-Trig devices attached.h]hUThis driver has been reported to work properly with multiple N-Trig devices attached.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhj:hhubj9)}(hhh](j>)}(h Parametersh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j=hjhhhjMhKubjo)}(hNote: values set at load time are global and will apply to all applicable devices. Adjusting parameters with sysfs will override the load time values, but only for that one device.h]hNote: values set at load time are global and will apply to all applicable devices. Adjusting parameters with sysfs will override the load time values, but only for that one device.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhjhhubjo)}(hGThe following parameters are used to configure filters to reduce noise:h]hGThe following parameters are used to configure filters to reduce noise:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j/hj,ubj0)}(hhh]h}(h]h ]h"]h$]h&]colwidthK5uh1j/hj,ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]jo)}(hactivate_slackh]hactivate_slack}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhjQubah}(h]h ]h"]h$]h&]uh1jOhjLubjP)}(hhh]jo)}(h4number of fingers to ignore before processing eventsh]h4number of fingers to ignore before processing events}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhjhubah}(h]h ]h"]h$]h&]uh1jOhjLubeh}(h]h ]h"]h$]h&]uh1jJhjGubjK)}(hhh](jP)}(hhh]jo)}(h#activation_height, activation_widthh]h#activation_height, activation_width}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK hjubah}(h]h ]h"]h$]h&]uh1jOhjubjP)}(hhh]jo)}(h&size threshold to activate immediatelyh]h&size threshold to activate immediately}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK hjubah}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]uh1jJhjGubjK)}(hhh](jP)}(hhh]jo)}(hmin_height, min_widthh]hmin_height, min_width}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK#hjubah}(h]h ]h"]h$]h&]uh1jOhjubjP)}(hhh]jo)}(h\size threshold below which fingers are ignored both to decide activation and during activityh]h\size threshold below which fingers are ignored both to decide activation and during activity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK#hjubah}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]uh1jJhjGubjK)}(hhh](jP)}(hhh]jo)}(hdeactivate_slackh]hdeactivate_slack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK&hjubah}(h]h ]h"]h$]h&]uh1jOhjubjP)}(hhh]jo)}(hYthe number of "no contact" frames to ignore before propagating the end of activity eventsh]h]the number of “no contact” frames to ignore before propagating the end of activity events}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK&hj ubah}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]uh1jJhjGubeh}(h]h ]h"]h$]h&]uh1jEhj,ubeh}(h]h ]h"]h$]h&]colsKuh1j*hj'ubah}(h]h ]h"]h$]h&]uh1j%hjhhhjMhNubjo)}(hXWhen the last finger is removed from the device, it sends a number of empty frames. By holding off on deactivation for a few frames we can tolerate false erroneous disconnects, where the sensor may mistakenly not detect a finger that is still present. Thus deactivate_slack addresses problems where a users might see breaks in lines during drawing, or drop an object during a long drag.h]hXWhen the last finger is removed from the device, it sends a number of empty frames. By holding off on deactivation for a few frames we can tolerate false erroneous disconnects, where the sensor may mistakenly not detect a finger that is still present. Thus deactivate_slack addresses problems where a users might see breaks in lines during drawing, or drop an object during a long drag.}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK*hjhhubeh}(h] parametersah ]h"] parametersah$]h&]uh1j8hj:hhhjMhKubj9)}(hhh](j>)}(hAdditional sysfs itemsh]hAdditional sysfs items}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1j=hjShhhjMhK2ubjo)}(hJThese nodes just provide easy access to the ranges reported by the device.h]hJThese nodes just provide easy access to the ranges reported by the device.}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK4hjShhubj&)}(hhh]j+)}(hhh](j0)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j/hjuubj0)}(hhh]h}(h]h ]h"]h$]h&]colwidthK5uh1j/hjuubjF)}(hhh](jK)}(hhh](jP)}(hhh]jo)}(h+sensor_logical_height, sensor_logical_widthh]h+sensor_logical_height, sensor_logical_width}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK7hjubah}(h]h ]h"]h$]h&]uh1jOhjubjP)}(hhh]jo)}(h0the range for positions reported during activityh]h0the range for positions reported during activity}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK7hjubah}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]uh1jJhjubjK)}(hhh](jP)}(hhh]jo)}(h-sensor_physical_height, sensor_physical_widthh]h-sensor_physical_height, sensor_physical_width}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK:hjubah}(h]h ]h"]h$]h&]uh1jOhjubjP)}(hhh]jo)}(h@internal ranges not used for normal events but useful for tuningh]h@internal ranges not used for normal events but useful for tuning}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK:hjubah}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]uh1jJhjubeh}(h]h ]h"]h$]h&]uh1jEhjuubeh}(h]h ]h"]h$]h&]colsKuh1j*hjrubah}(h]h ]h"]h$]h&]uh1j%hjShhhjMhNubjo)}(hFAll N-Trig devices with product id of 1 report events in the ranges ofh]hFAll N-Trig devices with product id of 1 report events in the ranges of}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK>hjShhubh bullet_list)}(hhh](h list_item)}(h X: 0-9600h]jo)}(hj'h]h X: 0-9600}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhK@hj%ubah}(h]h ]h"]h$]h&]uh1j#hj hhhjMhNubj$)}(h Y: 0-7200 h]jo)}(h Y: 0-7200h]h Y: 0-7200}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKAhj<ubah}(h]h ]h"]h$]h&]uh1j#hj hhhjMhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhjMhK@hjShhubjo)}(hX!However not all of these devices have the same physical dimensions. Most seem to be 12" sensors (Dell Latitude XT and XT2 and the HP TX2), and at least one model (Dell Studio 17) has a 17" sensor. The ratio of physical to logical sizes is used to adjust the size based filter parameters.h]hX%However not all of these devices have the same physical dimensions. Most seem to be 12” sensors (Dell Latitude XT and XT2 and the HP TX2), and at least one model (Dell Studio 17) has a 17” sensor. The ratio of physical to logical sizes is used to adjust the size based filter parameters.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKChjShhubeh}(h]additional-sysfs-itemsah ]h"]additional sysfs itemsah$]h&]uh1j8hj:hhhjMhK2ubj9)}(hhh](j>)}(h Filteringh]h Filtering}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1j=hjrhhhjMhKJubjo)}(hXWith the release of the early multi-touch firmwares it became increasingly obvious that these sensors were prone to erroneous events. Users reported seeing both inappropriately dropped contact and ghosts, contacts reported where no finger was actually touching the screen.h]hXWith the release of the early multi-touch firmwares it became increasingly obvious that these sensors were prone to erroneous events. Users reported seeing both inappropriately dropped contact and ghosts, contacts reported where no finger was actually touching the screen.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKLhjrhhubjo)}(hXDeactivation slack helps prevent dropped contact for single touch use, but does not address the problem of dropping one of more contacts while other contacts are still active. Drops in the multi-touch context require additional processing and should be handled in tandem with tacking.h]hXDeactivation slack helps prevent dropped contact for single touch use, but does not address the problem of dropping one of more contacts while other contacts are still active. Drops in the multi-touch context require additional processing and should be handled in tandem with tacking.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKQhjrhhubjo)}(hXAs observed ghost contacts are similar to actual use of the sensor, but they seem to have different profiles. Ghost activity typically shows up as small short lived touches. As such, I assume that the longer the continuous stream of events the more likely those events are from a real contact, and that the larger the size of each contact the more likely it is real. Balancing the goals of preventing ghosts and accepting real events quickly (to minimize user observable latency), the filter accumulates confidence for incoming events until it hits thresholds and begins propagating. In the interest in minimizing stored state as well as the cost of operations to make a decision, I've kept that decision simple.h]hXAs observed ghost contacts are similar to actual use of the sensor, but they seem to have different profiles. Ghost activity typically shows up as small short lived touches. As such, I assume that the longer the continuous stream of events the more likely those events are from a real contact, and that the larger the size of each contact the more likely it is real. Balancing the goals of preventing ghosts and accepting real events quickly (to minimize user observable latency), the filter accumulates confidence for incoming events until it hits thresholds and begins propagating. In the interest in minimizing stored state as well as the cost of operations to make a decision, I’ve kept that decision simple.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKVhjrhhubjo)}(hXvTime is measured in terms of the number of fingers reported, not frames since the probability of multiple simultaneous ghosts is expected to drop off dramatically with increasing numbers. Rather than accumulate weight as a function of size, I just use it as a binary threshold. A sufficiently large contact immediately overrides the waiting period and leads to activation.h]hXvTime is measured in terms of the number of fingers reported, not frames since the probability of multiple simultaneous ghosts is expected to drop off dramatically with increasing numbers. Rather than accumulate weight as a function of size, I just use it as a binary threshold. A sufficiently large contact immediately overrides the waiting period and leads to activation.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKahjrhhubjo)}(hX-Setting the activation size thresholds to large values will result in deciding primarily on activation slack. If you see longer lived ghosts, turning up the activation slack while reducing the size thresholds may suffice to eliminate the ghosts while keeping the screen quite responsive to firm taps.h]hX-Setting the activation size thresholds to large values will result in deciding primarily on activation slack. If you see longer lived ghosts, turning up the activation slack while reducing the size thresholds may suffice to eliminate the ghosts while keeping the screen quite responsive to firm taps.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKghjrhhubjo)}(hXContacts continue to be filtered with min_height and min_width even after the initial activation filter is satisfied. The intent is to provide a mechanism for filtering out ghosts in the form of an extra finger while you actually are using the screen. In practice this sort of ghost has been far less problematic or relatively rare and I've left the defaults set to 0 for both parameters, effectively turning off that filter.h]hXContacts continue to be filtered with min_height and min_width even after the initial activation filter is satisfied. The intent is to provide a mechanism for filtering out ghosts in the form of an extra finger while you actually are using the screen. In practice this sort of ghost has been far less problematic or relatively rare and I’ve left the defaults set to 0 for both parameters, effectively turning off that filter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKlhjrhhubjo)}(hI don't know what the optimal values are for these filters. If the defaults don't work for you, please play with the parameters. If you do find other values more comfortable, I would appreciate feedback.h]hI don’t know what the optimal values are for these filters. If the defaults don’t work for you, please play with the parameters. If you do find other values more comfortable, I would appreciate feedback.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKshjrhhubjo)}(hThe calibration of these devices does drift over time. If ghosts or contact dropping worsen and interfere with the normal usage of your device, try recalibrating it.h]hThe calibration of these devices does drift over time. If ghosts or contact dropping worsen and interfere with the normal usage of your device, try recalibrating it.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKwhjrhhubeh}(h] filteringah ]h"] filteringah$]h&]uh1j8hj:hhhjMhKJubj9)}(hhh](j>)}(h Calibrationh]h Calibration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j=hjhhhjMhK}ubjo)}(hThe N-Trig windows tools provide calibration and testing routines. Also an unofficial unsupported set of user space tools including a calibrator is available at: http://code.launchpad.net/~rafi-seas/+junk/ntrig_calibh](hThe N-Trig windows tools provide calibration and testing routines. Also an unofficial unsupported set of user space tools including a calibrator is available at: }(hj hhhNhNubj|)}(h6http://code.launchpad.net/~rafi-seas/+junk/ntrig_calibh]h6http://code.launchpad.net/~rafi-seas/+junk/ntrig_calib}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1j{hj ubeh}(h]h ]h"]h$]h&]uh1jnhjMhKhjhhubeh}(h] calibrationah ]h"] calibrationah$]h&]uh1j8hj:hhhjMhK}ubj9)}(hhh](j>)}(hTrackingh]hTracking}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1j=hj1 hhhjMhKubjo)}(hAs of yet, all tested N-Trig firmwares do not track fingers. When multiple contacts are active they seem to be sorted primarily by Y position.h]hAs of yet, all tested N-Trig firmwares do not track fingers. When multiple contacts are active they seem to be sorted primarily by Y position.}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1jnhjMhKhj1 hhubeh}(h]trackingah ]h"]trackingah$]h&]uh1j8hj:hhhjMhKubeh}(h]n-trig-touchscreen-driverah ]h"]n-trig touchscreen driverah$]h&]uh1j8hhhhhjMhKubeh}(h]h ]h"]h$]h&]sourcejMuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(j=N generatorN datestampN source_linkN source_urlN toc_backlinksjOfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcejM _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}(hhhhhhhhj jjjj*jj9j-jHj<jWjKjfjZjujijjxjjjjjjjjjjjjjjjjj jjjj)jj8j,jGj;jVjJjejYjtjhjjwjjjjjjjjjjjjjjjjj jjj j(jj7j+jFj:jUjIjdjXjsjgjjvjjjjjjjjjjjjjjjjj jjj j'jj6j*jEj9jTjHjcjWjrjfjjujjjjjjjjjjjjjjjjjjjj j&jj5j)usubstitution_names}(amphЌaposhߌasthbrvbarhbsolj centjcolonj*commaj9commatjHcopyjWcurrenjfdarrjudegjdividejdollarjequalsjexcljfrac12jfrac14jfrac18jfrac34jfrac38j frac58jfrac78j)gtj8halfjGhorbarjVhyphenjeiexcljtiquestjlaquojlarrjlcubjldquojlowbarjlparjlsqbjlsquojltj microjmiddotj(nbspj7notjFnumjUohmjdordfjsordmjparajpercntjperiodjplusjplusmnjpoundjquestjquotjraquoj rarrjrcubj'rdquoj6regjErparjTrsqbjcrsquojrsectjsemijshyjsoljsungjsup1jsup2jsup3jtimesjtradejuarrjverbarj&yenj5urefnames}refids}nameids}(j] jZ jPjMjojljjj. j+ jU jR u nametypes}(j] jPjojj. jU uh}(jZ j:jMjjljSjjrj+ jjR j1 u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log]%Documentation/input/devices/ntrig.rst(NNNNta decorationNhhub.