
EloMapping
--------------

Elo standard copyright
Create by: Thai Nguyen


Description:
EloMapping is the Command line interface tool to map all the touch Monitors' USB device to video 
displaying. 

This tool:
  - will work with and without Elo touch drivers:
  - is using USB and Video indexes to map. This way can help user to overcome the device ids 
    that could be changed every time the USB unplug/plug or reboot system.  Therefore, user can 
    set it auto-run, and do mapping every time the system reboot
  - is designed to run with normal user privilege.



System requirements:
- Linux OS with X-window graphical shell



-----------------------------------------------------------------------------------------------------
Version: 1.1
Release date: 04/23/2021
-----------------------------------------------------------------------------------------------------

Fix bug:
Under some conditions such as keep unplug/plug the touch USB cables, there are some extra/duplicated 
USB inputs are displayed in the USB input list.




-----------------------------------------------------------------------------------------------------
Version: 1.0
Release date: 11/02/2020
-----------------------------------------------------------------------------------------------------

This release supports following:

- The tool will search and display all USB touch inputs, and video outputs for mapping.
- User can do all touch inputs and video outputs mapping at once
- User can only do specific pair(s) of touch input and video output at a time

$ ./EloMapping [option]\n");
    option:\n");
      <none>                                        : will ask for mapping video index to map to touch input index\n");
      <USB-in-index:video-out-index>                : will map only this pair of index\n");
      <in-index:out-index> <in-index:out-index>     : will map only these pairs of index\n");
      <in-index:out-index> <in-index:out-index> <etc:etc>\n");
      -help                                         : tool's usage\n\n");



Tool’s usage:
-------------
$ ./EloMapping -help
Command line interface tool to map all the Elo Monitors' touch USB device to video displayings.
The tool will search and display all USB touch inputs, and video outputs for mapping.
Version 1.0
Usage:
$ ./EloMapping [option]
    option:
      <none>                                        : will ask mapping video index to map to touch input index
      <USB-in-index:video-out-index>                : will map only this pair of index
      <in-index:out-index> <in-index:out-index>     : will map only these pairs of index
      <in-index:out-index> <in-index:out-index> <etc:etc>
      -help                                         : tool's usage




Examples with output
--------------------

$ ./EloMapping
Detected USB information:
  Usb #0     (12) Elo multi-touch digitizer - 0 - 04e7:1080
  Usb #1     (13) Elo multi-touch digitizer - 1 - 03eb:8a6e
  Usb #2     (14) Elo multi-touch digitizer - 2 - 03eb:8a6e
Detected Video information:
  Video #0   VGA-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 300mm
  Video #1   DVI-I-2-1 connected 800x480+3200+0 (normal left inverted right x axis y axis) 154mm x 86mm
  Video #2   HDMI-1-3 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 344mm x 194mm
Please enter the Video number the USB will map to
  For USB #0, enter the mapping video #: -> 1
  For USB #1, enter the mapping video #: -> 0
  For USB #2, enter the mapping video #: -> 2
    -> Do mapping USB #0 (12) to Video #1 (DVI-I-2-1)
    -> Do mapping USB #1 (13) to Video #0 (VGA-1)
    -> Do mapping USB #2 (14) to Video #2 (HDMI-1-3)
    Success send command(s) to configure mapping from the USB to Video ports.



$ ./EloMapping 0:1
Detected USB information:
  Usb #0     (12) Elo multi-touch digitizer - 0 - 04e7:1080
  Usb #1     (13) Elo multi-touch digitizer - 1 - 03eb:8a6e
  Usb #2     (14) Elo multi-touch digitizer - 2 - 03eb:8a6e
Detected Video information:
  Video #0   VGA-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 300mm
  Video #1   DVI-I-2-1 connected 800x480+3200+0 (normal left inverted right x axis y axis) 154mm x 86mm
  Video #2   HDMI-1-3 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 344mm x 194mm
    -> Do mapping USB #0 (12) to Video #1 (DVI-I-2-1)
    Success send command(s) to configure mapping from the USB to Video ports.



$ ./EloMapping 0:0 1:1
Detected USB information:
  Usb #0     (12) Elo multi-touch digitizer - 0 - 04e7:1080
  Usb #1     (13) Elo multi-touch digitizer - 1 - 03eb:8a6e
  Usb #2     (14) Elo multi-touch digitizer - 2 - 03eb:8a6e
Detected Video information:
  Video #0   VGA-1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 375mm x 300mm
  Video #1   DVI-I-2-1 connected 800x480+3200+0 (normal left inverted right x axis y axis) 154mm x 86mm
  Video #2   HDMI-1-3 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 344mm x 194mm
    -> Do mapping USB #0 (12) to Video #0 (VGA-1)
    -> Do mapping USB #1 (13) to Video #1 (DVI-I-2-1)
    Success send command(s) to configure mapping from the USB to Video ports.


