[CentOS] Help needed with Elographics touchscreen

Tue Jun 12 22:44:10 UTC 2012
Tom Munro Glass <gentoo at tmgcon.com>

I'm trying to get an Elographics serial touchscreen working with CentOS
6.2 using the xorg-x11-drv-elographics driver.

Touching the screen will wake it up if the screen has blanked, but it
never moves the cursor on the screen. There is also a keyboard and mouse
connected while I'm trying to get this going and they are loaded
automatically and using the evdev driver.

Here are the relevant parts of /etc/X11/xorg.conf:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        Screen      2  "Screen2" RightOf "Screen1"
        InputDevice    "Touchscreen0" "CorePointer"

Section "InputDevice"
        Identifier  "Touchscreen0"
        Driver      "elographics"
        Option      "Device" "/dev/ttyS4"
        Option      "MinX" "0"
        Option      "MaxX" "4000"
        Option      "MinY" "0"
        Option      "MaxY" "4000"
        Option      "SendCoreEvents" "true"
        Option      "ButtonNumber" "1"
        Option      "ScreenNo" "0"
        Option      "DebugLevel" "5"

Here are some extracts from /var/log/Xorg.0.log that show the device
appears to be detected correctly:

(II) Using input driver 'elographics' for 'Touchscreen0'
(II) Loading /usr/lib/xorg/modules/input/elographics_drv.so
(**) Option "SendCoreEvents" "true"
(**) Option "CorePointer"
(**) Touchscreen0: always reports core events
(**) Option "Device" "/dev/ttyS4"
(**) Option "BaudRate" "9600"
(**) Option "StopBits" "1"
(**) Option "DataBits" "8"
(**) Option "Parity" "None"
(**) Option "FlowControl" "None"
(**) Elographics X device name: TOUCHSCREEN
(**) Option "ScreenNo" "0"
(**) Elographics associated screen: 0
(**) Elographics untouch delay: 50 ms
(**) Elographics report delay: 10 ms
(**) Option "MaxX" "4000"
(**) Elographics maximum x position: 4000
(**) Option "MinX" "0"
(**) Elographics minimum x position: 0
(**) Option "MaxY" "4000"
(**) Elographics maximum y position: 4000
(**) Option "MinY" "0"
(**) Elographics minimum y position: 0
(**) Option "DebugLevel" "5"
(**) Elographics debug level sets to 5
(**) Elographics device will work in Landscape mode
(II) XINPUT: Adding extended input device "TOUCHSCREEN" (type:
Elographics TouchScreen)
Elographics touchscreen init...
(**) TOUCHSCREEN: (accel) keeping acceleration scheme 1
(**) TOUCHSCREEN: (accel) acceleration profile 0
(**) TOUCHSCREEN: (accel) acceleration factor: 2.000
(**) TOUCHSCREEN: (accel) acceleration threshold: 4
Elographics touchscreen on...
Elographics touchscreen opening : /dev/ttyS4

(--) Elographics touchscreen is a Intellitouch, connected through a
serial link.
(--) The controller is a model E271-2200, firmware revision 2.1.
(--)  Additional features:
(--)       External A/D converter
(--)       Z axis active

Touching the screen produces a lot of debug information including lines
such as:

TouchScreen: x(1861), y(605), Press
TouchScreen: x(1859), y(608), Stream
TouchScreen: x(1848), y(624), Release

So it appears that the driver is communicating with the device OK, but
why doesn't it control the cursor?