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

From ESS-WIKI
Jump to: navigation, search
(Created page with "HID interface *Enable HID in menuconfig {| |- | <tt>        Device Drivers ---></tt> :<tt>Input device support ---></tt> ::<tt>'''<*>''' Eve...")
 
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
HID interface
+
==== Introduction ====
  
*Enable HID in menuconfig
+
Because the standard to connect custom capacitive touch devices(single- or multi-touch)&nbsp;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 ====
|-
 
|
 
<tt>&nbsp; &nbsp; &nbsp; &nbsp; Device Drivers ---></tt>
 
  
:<tt>Input device support ---></tt>
+
*HID 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 HID in menuconfig
 +
<pre>Device Drivers --->
 +
      Input device support --->
 +
            <*> 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>
  
 +
*I2C interface
  
|}
+
Enable I2C bus&nbsp;in menuconfig
  
:copy and rename&nbsp;<code>.config</code>&nbsp;to <code>arch/arm/configs/imx_v7_android_defconfig</code>
+
 
 +
<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;.config&nbsp;to arch/arm/configs/imx_v7_android_defconfig
 +
 
 +
==== Test ====
 +
 
 +
The ''getevent''&nbsp;tool provides information about the touch&nbsp;device.
 +
<pre># 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
 +
</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>

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