====== 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 [[http://askubuntu.com/questions/141341/touchscreen-with-dual-monitors|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.