Showing posts with label touchscreen. Show all posts
Showing posts with label touchscreen. Show all posts

Friday, 20 June 2008

U810 Touchscreen

As martschie on the UMPC portal Forums has pointed out, the Touchscreen only misbehaves when AC power is plugged in. In battery mode it works fine - guess that means it's meant to be mobile.

Now a dilemma - do I carry on hacking away at OpenSuSE 10.3 or risk going to 11.0? Having had some issues with the *.0 releases for 8,9 and 10, I think I'll wait for 11.1. It sounds like some of the Lifebook U drivers may well be merged into mainline by then.

Tuesday, 17 June 2008

U810 Buttons and Touchscreen Part 3

Now for the touchscreen.

  1. Go into the BIOS and set the Touchscreen mode to TouchPanel rather than Tablet. This messes up Vista until you switch it back.
  2. Install the x11-input-evtouch drivers from the OpenSuSE Tablet Page
  3. Log into a text console as root and do init 3 to drop out of X
  4. Create the following symlink in / (yes! silly bug in evtouch software!)

    ln -s /usr/share/xf86-input-evtouch/empty_cursor.xbm .
  5. Add the following to /etc/X11/xorg.conf:

    Section "InputDevice"
    Driver "evtouch"
    Identifier "TouchScreen[1]"
    Option "Device" "/dev/input/by-id/usb-Fujitsu_Component_USB_Touch_Panel-event-joystick"
    Option "SendCoreEvents" "On"
    Option "Calibrate" "1"
    End Section
  6. Add the following to the ServerLayout section in xorg.conf:

    InputDevice "TouchScreen[1]" "SendCoreEvents"
  7. Run the calibration procedure:

    cd /usr/lib/xf86-input-evtouch
    ./calibrate.sh
  8. On the first screen (white with 9 little crosses) move the pointer around the edges of the screen so that the readout gives good maximum/minimum values for the screen limits (in my case the coordinates went from around 500-15000). You'll notice that resposne is really rotten towards the top right - can't seem to fix that without resorting to hacking code.
  9. Hit enter to go to the next phase which is calibrating for digitser unevenness. the top-left cross will turn red. Tap on it and the next cross should turn red - and so on. Due to the responsiveness prblem you probably can't tap on some X's. Left click on the mouse to go to the next one (right click to go back). After the last one you are unceremoniously dumped back at the command prompt.
  10. You will find a text file called out.txt generated by the calibration software. We need to remove the bogus entries caused by the untappable points so open it up in an editor. The calibration offsets are the x0,y0-x8,y8 pairs (in the same order as the calibration X's, I believe) and should be around +/-20. If there are any out-of-range numbers try and interpolate between adjacent sensible values.
  11. Open up xorg.conf and paste in the contents of the modified out.txt into the InputDevice section just after the Calibrate line. Then place a # before the Calibrate line to comment it out.
  12. init 5 to restart X and enjoy (except for the top right insensitive spot).
  13. If you're happy with the calibration delete the symlink in /

Tuesday, 10 June 2008

U810 Buttons and Touchscreen Part 1

The Fujitsu touchscreen Lifebooks are Novell/SuSE certified so where are the drivers? They're not in the released mainstream OpenSuSE distro (10.3) but they have to be somewhere. A bit of digging gets me to the OpenSuSE Tablet PC pages which look rather promising - there's an evtouch package for the touchscreen and a Fujitsu button driver too. The T/P series tablets are mentioned but I'm hoping the U series will be covered too as I doubt Fujitsu would re-engineer a different mechanism unless they really had to. These drivers are currently listed as unsupported but I hope they make it into the mainstream 11.0 release or soon after.

Adding the OpenSuSE Tablet PC Repository to YAST allows us to pull down fsc_btns which looks like a good shot for a button driver (there's also a fair bit of Fujitsu-related activity in the Linux ACPI Project itself so this may be a stopgap). So I attempt to download it and discover it has a dependency on an earlier kernel than the one I have.

Okay, install the basic development packages and kernel source from the main repository and get the fsc_btns source from the SRPMS. Then proceed as follows...
  1. cd /usr/src/linux
  2. make cloneconfig
  3. make modules prepare
  4. make coffee, eat lunch :)
  5. cd /usr/src/packages/SOURCES/fsc_btns
  6. make
  7. make install
  8. modprobe fsc_btns
  9. "No such device" :(
Okay, time to look at the source code then...