€•O2Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ!/translations/zh_CN/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/zh_TW/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/it_IT/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ja_JP/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ko_KR/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/sp_SP/usb/mtouchusb”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒmtouchusb driver”h]”hŒmtouchusb driver”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒ;/var/lib/git/docbuild/linux/Documentation/usb/mtouchusb.rst”h Kubh¢)”}”(hhh]”(h§)”}”(hŒChanges”h]”hŒChanges”…””}”(hhºhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh·hžhhŸh¶h KubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ0.3 - Created based off of scanner & INSTALL from the original touchscreen driver on freecode (http://freecode.com/projects/3mtouchscreendriver)”h]”hŒ paragraph”“”)”}”(hŒ0.3 - Created based off of scanner & INSTALL from the original touchscreen driver on freecode (http://freecode.com/projects/3mtouchscreendriver)”h]”(hŒ_0.3 - Created based off of scanner & INSTALL from the original touchscreen driver on freecode (”…””}”(hhÕhžhhŸNh NubhŒ reference”“”)”}”(hŒ0http://freecode.com/projects/3mtouchscreendriver”h]”hŒ0http://freecode.com/projects/3mtouchscreendriver”…””}”(hhßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”háuh1hÝhhÕubhŒ)”…””}”(hhÕhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KhhÏubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒ&Amended for linux-2.4.18, then 2.4.19 ”h]”hÔ)”}”(hŒ%Amended for linux-2.4.18, then 2.4.19”h]”hŒ%Amended for linux-2.4.18, then 2.4.19”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K hhþubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hŒd0.5 - Complete rewrite using Linux Input in 2.6.3 Unfortunately no calibration support at this time ”h]”hÔ)”}”(hŒc0.5 - Complete rewrite using Linux Input in 2.6.3 Unfortunately no calibration support at this time”h]”hŒc0.5 - Complete rewrite using Linux Input in 2.6.3 Unfortunately no calibration support at this time”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h NubhÎ)”}”(hX1.4 - Multiple changes to support the EXII 5000UC and house cleaning Changed reset from standard USB dev reset to vendor reset Changed data sent to host from compensated to raw coordinates Eliminated vendor/product module params Performed multiple successful tests with an EXII-5010UC ”h]”hÔ)”}”(hX1.4 - Multiple changes to support the EXII 5000UC and house cleaning Changed reset from standard USB dev reset to vendor reset Changed data sent to host from compensated to raw coordinates Eliminated vendor/product module params Performed multiple successful tests with an EXII-5010UC”h]”hX1.4 - Multiple changes to support the EXII 5000UC and house cleaning Changed reset from standard USB dev reset to vendor reset Changed data sent to host from compensated to raw coordinates Eliminated vendor/product module params Performed multiple successful tests with an EXII-5010UC”…””}”(hj2hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h Khj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊhžhhŸh¶h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1hÈhŸh¶h Khh·hžhubeh}”(h]”Œchanges”ah ]”h"]”Œchanges”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒSupported Hardware”h]”hŒSupported Hardware”…””}”(hjYhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjVhžhhŸh¶h KubhŒ literal_block”“”)”}”(hXÉAll controllers have the Vendor: 0x0596 & Product: 0x0001 Controller Description Part Number ------------------------------------------------------ USB Capacitive - Pearl Case 14-205 (Discontinued) USB Capacitive - Black Case 14-124 (Discontinued) USB Capacitive - No Case 14-206 (Discontinued) USB Capacitive - Pearl Case EXII-5010UC USB Capacitive - Black Case EXII-5030UC USB Capacitive - No Case EXII-5050UC”h]”hXÉAll controllers have the Vendor: 0x0596 & Product: 0x0001 Controller Description Part Number ------------------------------------------------------ USB Capacitive - Pearl Case 14-205 (Discontinued) USB Capacitive - Black Case 14-124 (Discontinued) USB Capacitive - No Case 14-206 (Discontinued) USB Capacitive - Pearl Case EXII-5010UC USB Capacitive - Black Case EXII-5030UC USB Capacitive - No Case EXII-5050UC”…””}”hjisbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jghŸh¶h KhjVhžhubeh}”(h]”Œsupported-hardware”ah ]”h"]”Œsupported hardware”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒ Driver Notes”h]”hŒ Driver Notes”…””}”(hj„hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjhžhhŸh¶h K)ubhÔ)”}”(hŒ˜Installation is simple, you only need to add Linux Input, Linux USB, and the driver to the kernel. The driver can also be optionally built as a module.”h]”hŒ˜Installation is simple, you only need to add Linux Input, Linux USB, and the driver to the kernel. The driver can also be optionally built as a module.”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K+hjhžhubhÔ)”}”(hXFThis driver appears to be one of possible 2 Linux USB Input Touchscreen drivers. Although 3M produces a binary only driver available for download, I persist in updating this driver since I would like to use the touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the logical choice is to use Linux Input.”h]”hXFThis driver appears to be one of possible 2 Linux USB Input Touchscreen drivers. Although 3M produces a binary only driver available for download, I persist in updating this driver since I would like to use the touchscreen for embedded apps using QTEmbedded, DirectFB, etc. So I feel the logical choice is to use Linux Input.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K.hjhžhubhÔ)”}”(hŒèCurrently there is no way to calibrate the device via this driver. Even if the device could be calibrated, the driver pulls to raw coordinate data from the controller. This means calibration must be performed within the userspace.”h]”hŒèCurrently there is no way to calibrate the device via this driver. Even if the device could be calibrated, the driver pulls to raw coordinate data from the controller. This means calibration must be performed within the userspace.”…””}”(hj®hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K4hjhžhubhÔ)”}”(hŒ£The controller screen resolution is now 0 to 16384 for both X and Y reporting the raw touch data. This is the same for the old and new capacitive USB controllers.”h]”hŒ£The controller screen resolution is now 0 to 16384 for both X and Y reporting the raw touch data. This is the same for the old and new capacitive USB controllers.”…””}”(hj¼hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K9hjhžhubhÔ)”}”(hŒéPerhaps at some point an abstract function will be placed into evdev so generic functions like calibrations, resets, and vendor information can be requested from the userspace (And the drivers would handle the vendor specific tasks).”h]”hŒéPerhaps at some point an abstract function will be placed into evdev so generic functions like calibrations, resets, and vendor information can be requested from the userspace (And the drivers would handle the vendor specific tasks).”…””}”(hjÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h K=hjhžhubeh}”(h]”Œ driver-notes”ah ]”h"]”Œ driver notes”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K)ubh¢)”}”(hhh]”(h§)”}”(hŒTODO”h]”hŒTODO”…””}”(hjãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjàhžhhŸh¶h KCubhÔ)”}”(hŒ~Implement a control urb again to handle requests to and from the device such as calibration, etc once/if it becomes available.”h]”hŒ~Implement a control urb again to handle requests to and from the device such as calibration, etc once/if it becomes available.”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KEhjàhžhubeh}”(h]”Œtodo”ah ]”h"]”Œtodo”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KCubh¢)”}”(hhh]”(h§)”}”(hŒ Disclaimer”h]”hŒ Disclaimer”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjhžhhŸh¶h KIubhÔ)”}”(hŒœI am not a MicroTouch/3M employee, nor have I ever been. 3M does not support this driver! If you want touch drivers only supported within X, please go to:”h]”hŒœI am not a MicroTouch/3M employee, nor have I ever been. 3M does not support this driver! If you want touch drivers only supported within X, please go to:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KKhjhžhubhÔ)”}”(hŒ!http://www.3m.com/3MTouchSystems/”h]”hÞ)”}”(hj(h]”hŒ!http://www.3m.com/3MTouchSystems/”…””}”(hj*hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j(uh1hÝhj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KNhjhžhubeh}”(h]”Œ disclaimer”ah ]”h"]”Œ disclaimer”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KIubh¢)”}”(hhh]”(h§)”}”(hŒThanks”h]”hŒThanks”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjFhžhhŸh¶h KQubhÔ)”}”(hŒQA huge thank you to 3M Touch Systems for the EXII-5010UC controllers for testing!”h]”hŒQA huge thank you to 3M Touch Systems for the EXII-5010UC controllers for testing!”…””}”(hjWhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÓhŸh¶h KShjFhžhubeh}”(h]”Œthanks”ah ]”h"]”Œthanks”ah$]”h&]”uh1h¡hh£hžhhŸh¶h KQubeh}”(h]”Œmtouchusb-driver”ah ]”h"]”Œmtouchusb driver”ah$]”h&]”uh1h¡hhhžhhŸh¶h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¶uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¦NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j˜Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h¶Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jrjojSjPj~j{jÝjÚjjjCj@jjjguŒ nametypes”}”(jr‰jS‰j~‰j݉j‰jC‰jj‰uh}”(joh£jPh·j{jVjÚjjjàj@jjgjFuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.