Configuring serial port touch screen in lubuntu 18.04
I've successfully installed lubuntu 18.04, recommended for my FOSS POS program to run in a Snack-Bar, in a pretty old, but 100% functional Sam4s machine (hardware description link) . Everything works smooth but the touch screen is not auto-detected neither appear in the xinput result as follow:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Logitech USB Keyboard id=11 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Logitech Logitech USB Keyboard id=10 [slave keyboard (3)] ↳ Logitech Logitech USB Keyboard id=13 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)]The touch screen is connected through an internal serial port.
By using evtest to try all inputs, I get no touch screen response from none of these:
$ sudo evtest
[sudo] senha para burguesa:
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Sleep Button
/dev/input/event2: Power Button
/dev/input/event3: Logitech Logitech USB Keyboard
/dev/input/event4: Logitech Logitech USB Keyboard
/dev/input/event5: PixArt USB Optical Mouse
/dev/input/event6: Video Bus
/dev/input/event7: HDA Intel Mic
/dev/input/event8: HDA Intel Line
/dev/input/event9: HDA Intel Line Out
/dev/input/event10: HDA Intel HDMI/DP,pcm=3
Select the device event number [0-10]: Can someone please give me some hints to help me out?
Thanks in advance!
91 Answer
To solve the problem I followed the steps described on this link that leads to the ELO Touchscreen manufacturer driver page.
The only thing you need to discover by yourself is the the serial port on which the screen is internally connected. If not sure, you can get there by attempting starting at ttyS0, ttyS1 and so on. In my case it is ttyS1.
1