User Tools

Site Tools


hardware:iiyama

openEASE Kiosk mode with IIYAMA Touchscreen

What you need

  • IIYAMA Touchscreen
  • VGA or DVI cable
  • USB cable
  • Ubuntu 14.04

Hardware Driver

Ubuntu 14.04 is shipped with required drivers that enable the screen to …

  • … display the Desktop
  • … emulate mouse clicks and dragging events with Button 1 pressed

Issues

Wrong Offset

Using multiple screens yields in offset of emulated events. See FIX for a workaround. If both screens have the same dimensions and the touchscreen is left of your main monitor, this call should fix it:

xinput set-prop 'ELAN Touchscreen' --type=float 'Coordinate Transformation Matrix' 0.5 0 0 0 1 0 0 0 1

or if the touchscreen is right of your main monitor:

xinput set-prop 'ELAN Touchscreen' --type=float 'Coordinate Transformation Matrix' 0.5 0 0.5 0 1 0 0 0 1

Firefox touch events

It seems that firefox lacks support for proper touch events. use chromium instead.

Chromium Kiosk Mode

In kiosk mode the user has limited access to the computer, only one fullscreen application allows interaction with the system.

openEASE session

Login managers are starting sessions after a user logs in. Such sessions usually start a window manager and possibly other default software services. in case of openEASE we only need a running web browser. Since firefox has issues with touch events we have to stick with chromium for now.

Make sure chromium is installed:

sudo apt-get install chromium

A window manager seems required. I prefer using a lightweight manager such as xfwm4. Make sure the WM is installed:

sudo apt-get install xfwm4

Sessions are defined in .desktop files. Create a new openEASE session at /usr/share/xsessions/openease.desktop with following content:

[Desktop Entry]
Name=openEASE
Comment=This session logs you into openEASE
Exec=/usr/bin/openease.sh
Icon=
Type=Application
X-LightDM-DesktopName=Chromium
X-Ubuntu-Gettext-Domain=gnome-session-3.0

TODO include openEASE icon

The session references a shell script /usr/bin/openease.sh. Create this file with following content:

#!/bin/bash
xfwm4 &
xscreensaver -nosplash &
sleep 3
chromium-browser --app=https://data.open-ease.org --kiosk

The session should now appear in the list of sessions in the login manager.

Login Manager

First create/select a dedicated unix user for guests and allow the user to log in without password:

sudo gpasswd -a guest nopasswdlogin

Now make openEASE the default session of the system by editing /etc/lightdm/lightdm.conf, adding these lines:

[SeatDefaults]
user-session=openease
greater-show-manual-login=true

Screensaver

Install xscreensaver from ubuntu packages:

sudo apt-get install xscreensaver

Start xscreensaver for configuration:

xscreensaver-demo

Set the blank time to something reasonable such as 10 minutes.

Then, kill the screensaver:

killall xscreensaver

Open configuration file at *~/.xscreensaver* and add following “program”:

	    "openEASE" 	mplayer -shuffle -nosound -really-quiet	      \
			  -nolirc -nostop-xscreensaver -wid	      \
			  $XSCREENSAVER_WINDOW -fs -loop 0	      \
			  $HOME/Videos/*			    \n\

This “program” can be used to show videos that are available in the directory ~/Videos/ while no one is using the touch screen. To select the video loop, open *xscreensaver-demo* again, select “Just one screensaver” and select “openEASE” from the list of screensavers.

hardware/iiyama.txt · Last modified: 2016/05/19 09:19 (external edit)