Difference between revisions of "IoTGateway/BSP/Android/Gettingstarted/How to configure Capacitive Multi-touch Display"

From ESS-WIKI
Jump to: navigation, search
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
==== Introduction ====
 +
 +
Because the standard to connect custom capacitive touch devices(single- or multi-touch) is not defined, this resulted in having a variety of touch drivers interface. General speaking, USB/HID and I2C are the common hardware interface.
 +
 
==== Configure ====
 
==== Configure ====
  
HID interface
+
*HID interface
 
 
*Enable HID in menuconfig
 
  
{|
+
Enable HID in menuconfig
|-
+
<pre>Device Drivers --->
|
+
      Input device support --->
<tt>Device Drivers ---></tt>
+
            <*> Event interface Miscellaneous devices --->
 +
                  <*>User level driver support
 +
&nbsp;      HID Devices --->
 +
            [*]/dev/hidraw raw HID device support Special HID drivers --->
 +
                  <*> HID Multitouch panels&nbsp;</pre>
  
:<tt>Input device support ---></tt>
+
*I2C interface
::<tt>'''&lt;*&gt;'''&nbsp;Event interface</tt>
 
::<tt>Miscellaneous devices ---></tt>
 
:::<tt>'''&lt;*&gt;'''&nbsp;User level driver support</tt>
 
:<tt>HID Devices ---></tt>
 
::<tt>'''[*]'''&nbsp;/dev/hidraw raw HID device support</tt>
 
::<tt>Special HID drivers ---></tt>
 
:::<tt>'''&lt;*&gt;'''&nbsp;HID Multitouch panels</tt>
 
  
 +
Enable I2C bus&nbsp;in menuconfig
  
  
|}
+
<pre>Device drivers --->
 +
        I2C support  --->
 +
            <*> I2C support
 +
                [*]  Enable compatibility bits for old user-space
 +
                <*>  I2C device interface
 +
                <*>  I2C bus multiplexing support
 +
                        Multiplexer I2C Chip support  --->
 +
             
 +
</pre>
  
:copy and rename&nbsp;<code>.config</code>&nbsp;to <code>arch/arm/configs/imx_v7_android_defconfig&lt;code&gt;</code>&lt;/code&gt;<br/>
+
copy and rename&nbsp;.config&nbsp;to arch/arm/configs/imx_v7_android_defconfig
  
 
==== Test ====
 
==== Test ====
Line 44: Line 52:
 
[  78826.468719] EV_ABS      ABS_MT_TRACKING_ID  ffffffff
 
[  78826.468719] EV_ABS      ABS_MT_TRACKING_ID  ffffffff
 
[  78826.468719] EV_SYN      SYN_REPORT          00000000
 
[  78826.468719] EV_SYN      SYN_REPORT          00000000
 +
</pre>
 +
 +
For developer mode option, showing touch points and locations&nbsp;on the screen
 +
<pre>Settings > Developer Options > Show touches
 +
Settings > Developer Options > pointer location
 
</pre>
 
</pre>

Latest revision as of 09:31, 3 February 2017

Introduction

Because the standard to connect custom capacitive touch devices(single- or multi-touch) is not defined, this resulted in having a variety of touch drivers interface. General speaking, USB/HID and I2C are the common hardware interface.

Configure

  • HID interface

Enable HID in menuconfig

Device Drivers --->
       Input device support --->
            <*> Event interface Miscellaneous devices --->
                  <*>User level driver support 
       HID Devices --->
            [*]/dev/hidraw raw HID device support Special HID drivers --->
                  <*> HID Multitouch panels 
  • I2C interface

Enable I2C bus in menuconfig


Device drivers --->
        I2C support  --->
            <*> I2C support
                [*]   Enable compatibility bits for old user-space
                <*>   I2C device interface
                <*>   I2C bus multiplexing support
                        Multiplexer I2C Chip support  --->
               

copy and rename .config to arch/arm/configs/imx_v7_android_defconfig

Test

The getevent tool provides information about the touch device.

# getevent -lt
[   78826.389007] EV_ABS       ABS_MT_TRACKING_ID   0000001f
[   78826.389038] EV_ABS       ABS_MT_PRESSURE      000000ab
[   78826.389038] EV_ABS       ABS_MT_POSITION_X    000000ab
[   78826.389068] EV_ABS       ABS_MT_POSITION_Y    0000025b
[   78826.389068] EV_ABS       ABS_MT_SLOT          00000001
[   78826.389068] EV_ABS       ABS_MT_TRACKING_ID   00000020
[   78826.389068] EV_ABS       ABS_MT_PRESSURE      000000b9
[   78826.389099] EV_ABS       ABS_MT_POSITION_X    0000019e
[   78826.389099] EV_ABS       ABS_MT_POSITION_Y    00000361
[   78826.389099] EV_SYN       SYN_REPORT           00000000
[   78826.468688] EV_ABS       ABS_MT_SLOT          00000000
[   78826.468688] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
[   78826.468719] EV_ABS       ABS_MT_SLOT          00000001
[   78826.468719] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
[   78826.468719] EV_SYN       SYN_REPORT           00000000

For developer mode option, showing touch points and locations on the screen

Settings > Developer Options > Show touches
Settings > Developer Options > pointer location