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

From ESS-WIKI
Jump to: navigation, search
 
(9 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 --->
 
<pre>Device Drivers --->
 
       Input device support --->
 
       Input device support --->
             <*>&nbsp;Event interface Miscellaneous devices --->
+
             <*> Event interface Miscellaneous devices --->
          <*>&nbsp;User level driver support
+
                  <*>User level driver support  
    HID Devices --->
+
&nbsp;      HID Devices --->
          [*]&nbsp;/dev/hidraw raw HID device support
+
            [*]/dev/hidraw raw HID device support Special HID drivers --->
    Special HID drivers --->
+
                  <*> HID Multitouch panels&nbsp;</pre>
          <*>&nbsp;HID Multitouch panels
 
</pre>
 
  
{|
+
*I2C interface
|-
 
|
 
<tt>Device Drivers ---></tt>
 
  
:<tt>Input device support ---></tt>
+
Enable I2C bus&nbsp;in menuconfig
::<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>
 
  
  
 
|}
 
 
I2C interface
 
 
*Enable I2C bus&nbsp;in menuconfig
 
 
<pre>Device drivers --->
 
<pre>Device drivers --->
 
         I2C support  --->
 
         I2C support  --->
Line 42: Line 28:
 
                 <*>  I2C bus multiplexing support
 
                 <*>  I2C bus multiplexing support
 
                         Multiplexer I2C Chip support  --->
 
                         Multiplexer I2C Chip support  --->
                [*]  Autoselect pertinent helper modules
+
             
                        I2C Hardware Bus support  --->
 
                            <*> Atmel AT91 I2C Two-Wire interface (TWI)
 
                            <*> GPIO-based bitbanging I2C
 
 
 
 
</pre>
 
</pre>
  
Line 70: 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