Giter Site home page Giter Site logo

touchui's Introduction

Logo TouchUI

The TouchUI was initially started as part of the ftcommunity-TXT project. It has now become a stand-alone GUI project aiming to create a simple yet useful user interface for small touch screen enabled devices like the Raspberry Pi using a display module add-on.

Launcher NetInfo App Power App About TouchUI On screen keyboard

TouchUI is based on Python, Qt and PyQt. It runs on any device supporting these incl. the Raspberry Pi and the Fischertechnik TXT. It's designed for resultions from 240x320 to 480x320 / 320x480 and is meant to be used with a touchscreen.

Raspberry Pi installation

Installing the TouchUI on a raspberry pi is quite simple. The following instructions assume that you have a raspberry pi running raspbian with a small 3.2 or 3.5 inch LCD.

Display orientation

The TouchUI is meant to be used with at least 320 pixel vertically. Thus a 320x240 display needs to be configured for portrait mode. The exact steps for this differ from display to display. E.g. a Waveshare 3.2 inch LCD with 320x240 pixels can be rotated by adding the rotate option like dtoverlay=waveshare35a,rotate=0 to the file /boot/config.txt.

Furthermore the touchscreen also needs to be rotated. This is done in the file /etc/X11/xorg.conf.d/99-calibration.conf by removing the SwapAxes option and by exachanging the Calibration values of both axes:

Section "InputClass"
  Identifier   "calibration"
  MatchProduct "ADS7846 Touchscreen"
  Option       "Calibration" "300 3932 294 3801"
EndSection

Afterwards the display and touchscreen should work as usual but in upright orientation.

Hide mouse cursor and disable screen blanking

The TouchUI is meant to be used with the finger. This no mouse cursor is needed. Also scren blanking is usually not wanted in this case. This can be accomplished by changing the file /etc/X11/xinit/xserverrc like this.

#!/bin/sh
exec /usr/bin/X -s 0 dpms -nocursor -nolisten tcp "$@"

Disable existing GUI

Raspbian comes with the lightdm window manager installed by default. You can simply uninstall it via the command apt-get remove lightdm.

Boot TouchUI

First place the entire touchui directory in the /root directoy.

Then install the init script under /etc/init.d/touchui-init and the touch ui start script under /root/touchui/touchui.

Acivate the init script by executing the following command:

update-rc.d touchui-init defaults

Make sure python3, Qt and PyQt are installed on your Pi e.g. with the following command:

apt-get install python3
apt-get install python3-pyqt4 

After a reboot the TouchUI should show up.

PC Demo

The TouchUI can run an a PC inside a window. The launcher (touchui/launcher.py) can just be started. If apps are being used the enironment variable PYTHONPATH needs to be set to the directory where TouchStyle.py is located.

When run on a desktop PC the TouchUI runs inside a window. The size of this window can be changed. E.g. the command

SCREEN=480x320 ./launcher.py

will run the launcher inside a window of 320x480 pixels size:

Launcher in 320x480

touchui's People

Contributors

harbaum avatar heuer avatar peterdhabermehl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

touchui's Issues

Keyboard Problem

When opening the new on-screen keyboard, it appears as window and not fullscren. If works but it looks a bit wrong.
Screenshot will follow later.

Raphael

Keyboard Problem

When opening the new on-screen keyboard, it appears as window and not fullscren. If works but it looks a bit wrong.
Screenshot will follow later.

Raphael

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.