harmon25

harmon25

USB Touch Screen with Nerves Kiosk

Hi all,
Looking for some help setting up a nerves rpi3 kiosk using an asus touch screen

I am starting with this system - GitHub - nerves-web-kiosk/kiosk_system_rpi3: Nerves QtWebEngine Kiosk system for Raspberry Pi 3 · GitHub.

I have one problem, the display is oriented in portrait, I have it rotated correctly via display_rotate=1 in config.txt but the touch input is now off.

I was able to solve this with an x11 debian based system using the following command

xinput set-prop 'ILITEK ILITEK Multi-Touch' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

Here is a link to pretty much the same problem - solved in a similar way:
https://www.raspberrypi.org/forums/viewtopic.php?t=205592

Any idea how I could go about solving this with a nerves system? Is it possible?

Thanks for the help!

EDIT:
This a similar thread,
https://forum.elixirforum.com/t/nerves-connecting-a-touch-screen

I am unsure how to apply that advice though…

Marked As Solved

harmon25

harmon25

Thanks @mobileoverlord, I have been using the example app as reference, and the screen does work well by default!

My problem is operating the display vertically, I need to rotate the touch input.
I have come up with a solution that seems to work, albeit does not perform as well as the monitor in its default orientation…

I am running the following before launching the WebengineKiosk

 :os.cmd('udevd -d')
 :os.cmd('udevadm trigger --type=subsystems --action=add')
 :os.cmd('udevadm trigger --type=devices --action=add')
 :os.cmd('udevadm settle --timeout=30')

 System.put_env("QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS", "/dev/input/event0:rotate=270")
 System.put_env("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-gpu")

QT_QPA_EGLFS_ROTATION

actually just rotates the display but has no impact on touch input, -90 is what i need based on the orientation of my display - might be able to rotate the display normally and just leverage the next step…

Rotating the display via config.txt - and tweaking the below parameter seems to have worked well!
This is the solution! woo :smile: QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS

event0 is the device name for my touch screen events, and setting rotate=270 gets the touch input oriented as needed

When not messing with the orientation and just having udevd enabled, the touch screen works very well. Things like swiping to scroll, and pinch to zoom are accurate. after tweaking the settings as above those functions are a bit shaky and the touch does not seem as responsive.

Here is a link to the relevant QT documentation:

Also Liked

mobileoverlord

mobileoverlord

Co-author of Nerves

We used the kiosk_system_rpi3 Nerves system with Dell touch screen devices. The system has some generic support for USB touch screens enabled but getting QT (webengine_kiosk) to recognize the hot plug events for the USB touch screen required udev. There is room for improvement in this area, but here is an example of how we started udev as part of our application initialization. kiosk_system_rpi3/example/lib/example/application.ex at main · nerves-web-kiosk/kiosk_system_rpi3 · GitHub

Where Next?

Popular in Questions Top

chokchit
** (DBConnection.ConnectionError) connection not available and request was dropped from queue after 2733ms. You can configure how long re...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
earth10
Hi, I’m just starting to build a side-project with Elixir and Phoenix and doing some basic test with Elixir alone. What strikes me is th...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call t...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement