Skip to content

Reading Parade TrueTouch Gen5 Multitouch Input

Can Selcik edited this page Mar 25, 2018 · 1 revision

The device features a Parade TrueTouch Gen5 Multitouch screen (cyttsp5_mt) accessible at /dev/input/event1. The firmware for the MT controller can be found at reference-material/cyttsp5_fw_pid00.bin.

cy,mt {
       cy,name = "cyttsp5_mt";

       cy,inp_dev_name = "cyttsp5_mt";
       cy,flags = <0>;
       cy,abs =
         /* ABS_MT_POSITION_X, CY_ABS_MIN_X, CY_ABS_MAX_X, 0, 0 */
         <0x35 0 880 0 0
         /* ABS_MT_POSITION_Y, CY_ABS_MIN_Y, CY_ABS_MAX_Y, 0, 0 */
         0x36 0 1280 0 0
         /* ABS_MT_PRESSURE, CY_ABS_MIN_P, CY_ABS_MAX_P, 0, 0 */
         0x3a 0 255 0 0
         /* CY_IGNORE_VALUE, CY_ABS_MIN_W, CY_ABS_MAX_W, 0, 0 */
         0xffff 0 255 0 0
         /* ABS_MT_TRACKING_ID, CY_ABS_MIN_T, CY_ABS_MAX_T, 0, 0 */
         0x39 0 15 0 0
         /* ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0 */
         0x30 0 255 0 0
         /* ABS_MT_TOUCH_MINOR, 0, 255, 0, 0 */
         0x31 0 255 0 0
         /* ABS_MT_ORIENTATION, -127, 127, 0, 0 */
         0x34 0xffffff81 127 0 0
         /* ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0, 0 */
         0x37 0 1 0 0
         /* ABS_DISTANCE, 0, 255, 0, 0 */
         0x19 0 255 0 0>;

       cy,vkeys_x = <720>;
       cy,vkeys_y = <1280>;

       cy,virtual_keys = /* KeyCode CenterX CenterY Width Height */
         /* KEY_BACK */
         <158 1360 90 160 180
         /* KEY_MENU */
         139 1360 270 160 180
         /* KEY_HOMEPAGE */
         172 1360 450 160 180
         /* KEY SEARCH */
         217 1360 630 160 180>;
     };
remarkable: ~/ ./evtest /dev/input/event1
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "cyttsp5_mt"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
  Event type 2 (Relative)
  Event type 3 (Absolute)
    Event code 25 (Distance)
      Value      0
      Min        0
      Max      255
    Event code 47 (?)
      Value      0
      Min        0
      Max       31
    Event code 48 (?)
      Value      0
      Min        0
      Max      255
    Event code 49 (?)
      Value      0
      Min        0
      Max      255
    Event code 52 (?)
      Value      0
      Min     -127
      Max      127
    Event code 53 (?)
      Value      0
      Min        0
      Max      767
    Event code 54 (?)
      Value      0
      Min        0
      Max     1023
    Event code 55 (?)
      Value      0
      Min        0
      Max        1
    Event code 57 (?)
      Value      0
      Min        0
      Max    65535
    Event code 58 (?)
      Value      0
      Min        0
      Max      255
Testing ... (interrupt to exit)
Event: time 1519456007.622705, type 3 (Absolute), code 57 (?), value 139
Event: time 1519456007.622705, type 3 (Absolute), code 53 (?), value 186
Event: time 1519456007.622705, type 3 (Absolute), code 54 (?), value 323
Event: time 1519456007.622705, type 3 (Absolute), code 58 (?), value 117
Event: time 1519456007.622705, type 3 (Absolute), code 48 (?), value 9
Event: time 1519456007.622705, type 3 (Absolute), code 52 (?), value 3
Event: time 1519456007.622705, -------------- Report Sync ------------
Event: time 1519456007.667954, type 3 (Absolute), code 57 (?), value -1
Event: time 1519456007.667954, -------------- Report Sync ------------
Event: time 1519456008.162604, type 3 (Absolute), code 57 (?), value 140
Event: time 1519456008.162604, type 3 (Absolute), code 53 (?), value 222
Event: time 1519456008.162604, type 3 (Absolute), code 54 (?), value 509
Event: time 1519456008.162604, type 3 (Absolute), code 58 (?), value 75
Event: time 1519456008.162604, type 3 (Absolute), code 48 (?), value 4
Event: time 1519456008.162604, type 3 (Absolute), code 52 (?), value 2
Event: time 1519456008.162604, -------------- Report Sync ------------
Event: time 1519456008.245695, type 3 (Absolute), code 57 (?), value -1
Event: time 1519456008.245695, -------------- Report Sync ------------