Zalman HD160XT

From MythTV Official Wiki
Revision as of 19:47, 6 February 2008 by Ikke (talk | contribs)

Jump to: navigation, search
Zalman HD160XT
Included Remote

Zalman HD160XT

Incomplete.png Incomplete, needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page

Introduction

For Rev3.0 cases look for details here: http://zalman.ostergaard.net/ The rest of this guide is focussed on the Rev2.0 case combined with an Ubuntu distribution, This guide is roughly based on the link as described above.


Installation

Execute a normal Ubuntu installation. On a freshly installed system the touchscreen will already emulate a left mouse click. Test this by hovering a button with the mouse and tapping the touch screen.

After installation please:

  • remove the 'brltty' and 'brltty-x11' packages since these hampered the correct operation of the front-panel.
  • install 'libftdi-dev' package for correct usage of the front panel

Now install the evtouch package:

sudo apt-get install xserver-xorg-input-evtouch

Now adapt the /etc/X11/xorg.conf file, and add the following to the file:

Section "InputDevice"
   Identifier "touchscreen"
   Driver "evtouch"
   # The event4 value has to be adapted to fit your system
   Option "Device" "/dev/input/event4"
   Option "DeviceName" "touchscreen"
   # These values proved to be good in my setup
   Option "MinX" "140"
   Option "MinY" "100"
   Option "MaxX" "1800"
   Option "MaxY" "1940"
   # For some reason the guys at Zalman rotated the touch-surface
   Option "Rotate" "CW"
   Option "ReportingMode" "Raw"
   Option "Emulate3Buttons"
   Option "Emulate3Timeout" "50"
   Option "SendCoreEvents" "On"
EndSection

The value event4 may differ from each system: to determine the correct value use the following:

dmesg | grep -i touch | grep event

If it says something like input4 at the end, use event4. input5 = event5, etc...

Calibrating the touchscreen

At this moment I did it the hard way by altering the xorg.xonf file and restarting the system. Keep in mind that since the display is rotated clock wise, MinX and MinY are swapped (same applies to MaxX and MaxY). The following I found during the calibration:

  • Increasing MinY makes the cursor reach the left border earlier when moving from right to left
  • Decreasing MaxY makes the cursor reach the right border earlier when moving from left to right
  • Increasing MinX makes the cursor reach the bottom border earlier when moving from top to bottom
  • Decreasing MaxX makes the cursor reach the top border earlier when moving from bottom to top

Adapting Mythtv's menu structure

The current mythtv menus don't support a "touchable" back button. The button has to be added to the already existing structure.

login as the mythtv user (Or the user normally used by the frontend)

mkdir -p ~/.mythtv
cd ~/.mythtv
rm -f *.xml
cp /usr/share/mythtv/*.xml .
files=`ls -1 *.xml | grep -v mainmenu.xml`
for file in ${files}
 do
  mv ${file} ${file}.old
  sed "s|</mythmenu>|\n   <button>\n     <type>MENU_TYPE</type>\n     <text>Back</text>\n     <action>UPMENU</action>\n   </button>\n\n</mythmenu>|" ${file}.old >${file}
  rm ${file}.old
 done

Getting the fronpanel to work

NOTE: These are my preliminary tests, so this is work in progress

For testing the following was used /bin/stty -F /dev/ttyUSB0 speed 38400 raw cs8 cat /dev/ttyUSB0

With each press of the keys on the front you see a letter appear on the screen. (eg: when pressing the volume button, the letter 'J' should appear)