Touch

  • Verify kernel detects device on boot
  • Verify kernel detects device when plugged into an already booted system
  • Verify appropriate drivers are loaded during bootup
  • Identify the device file, cat it and use the device to verify data is coming through
  • Operate all extra buttons or accessory input controls to verify the actions are detected
  • Perform all tests for pen and finger based input as applicable
  • Screen rotation

Device support test

  1. Attach touchscreen (if appropriate) and boot system to Ubuntu
  2. Run xinput list and see if all expected devices shows up

    • Look for device labeled 'touchscreen' and/or 'multitouch'
  3. If is usb, does it show up in lsusb?

    • Ex: "Bus 007 Device 002: ID 1b96:0001 N-Trig Duosense Transparent Electromagnetic Digitizer"
    • Most usb devices even if unsupported should still be present in that list
    • Note: some wacom devices may show up only as a serial device and will not show up on the usb bus or as input devices
  4. If event based input device check sudo lsinput | grep -i touch -A4 -B5

    • If that generates no output, review full output of sudo lsinput

    • Missing or incorrectly identified devices indicate lack of support or an error in a kernel driver.
    • Some serial devices won't show up in this output
  5. Kernel support for touch and pen screens can be found in:
    • drivers/input/touchscreen
    • drivers/input/tablet
    • drivers/hid
  6. Determine the firmware version and update appropriate hardware table:

Basic functionality test

  1. Boot system to Ubuntu with touchscreen device attached/enabled (as appropriate)
  2. Touch and move finger on screen, and verify the mouse cursor moves accordingly
  3. Tap on the 'Applications' menu and verify the menu displays
    • If taps do not register (TODO: Then what?)
  4. Using finger, navigate in the menu to Accessories > Terminal

  5. Tap on Terminal to launch a terminal window
  6. Rotate screen using xrandr
    •  xrandr -o 1 

  7. Drag vertical from the left side of screen to the right and verify mouse cursor moves accordingly
    • If cursor moves bottom to top instead, it is a coordinate system error

Application functionality test

  1. Boot system to Ubuntu with touchscreen device attached/enabled (as appropriate)
  2. Load a suitable application (e.g. mypaint)
    • Check pressure settings. Pen devices typically support pressure, touch generally does not, though there do exist devices that support pressure with touch and some that do not support pressure with stylus.
  3. Exercise functionality from application using touch and verify works properly and smoothly
  4. For pen based devices test both stylus and eraser. Many drawing applications support different tools for each (gimp,mypaint, xournal).

Hotplug test (If appropriate)

  1. Boot system to Ubuntu without device attached
  2. Note dmesg, lsusb and xinput output before connecting device

  3. Attach device
  4. Note dmesg, lsusb and xinput output after connecting device

  5. Verify from above output that device was detected by the kernel and X
  6. Verify basic functionality

Sleep test

  1. Put machine into sleep mode (suspend to ram) and wake it up. Verify device still functional calibration is correct.
  2. Repeat with hibernation (suspend to disk).

Multitouch

Introduction

  • Fundamentally multitouch devices are an extension of single touch devices and testing should start with basic touch support and then progress to more advanced multitouch behaviors. (do we have to worry about gesture only devices and ignore some tests for those?)

Testing

  1. Sporadic contact observations
    • During all testing, note any touch events that do not correspond to real contact such as random screen clicks or jumping to an edge or corner.
  2. Verify single touch functionality: https://wiki.ubuntu.com/X/Testing/Touchscreen

  3. Tracking: as you move 2 fingers around the screen do the cursors swap?
    • Hold one finger on the middle left edge of the screen and move another finger up and down over the right edge
    • Repeat for top/bottom
    • Hold a finger at the center of the screen and draw a large circle with another finger
  4. Contact count (need to supply a tool for this)
    • Place fingers on the screen one at a time until the counter stops increasing
  5. Lost contact
    • Drag one finger across the screen. Does the line stop and start again?
    • Repeat for 2 or more fingers (dragging your nose and both hands is not recommended, get another person to assist if you want to test more contacts than available fingers)
  6. Gestures
    • Draw the shapes you see on screen
    • Repeat several times and collect the success/failure counts.

X/Testing/Touch (last edited 2012-04-13 21:07:58 by bryce)