Touchpad/Testing

From OLPC
Jump to navigation Jump to search

Touchpad calibration and testing is a complex area, not very well documented in the industry. This page collects useful information when testing and debugging touchpads.

OLPC has shipped 3 touchpads

  • ALPS (in XO-1 CL1 model)
  • Synaptics (in XO-1 CL1A model, XO-1.5, XO-1.75)
  • Sentelic AVC (in XO-1 CL1A model, XO-1.5, XO-1.75)

Right after boot, use "dmesg | grep -i psmouse" to see what protocol is in use. This usually reveals the tp in use.

Tests

Standing finger

  • Place your finger in one spot, keep it there for a long time. The pointer should not move.

Circles

Spirals

Rolling finger

Corner to corner sweep

Variables

These are the variables we find influence TP performance. Our tuning work aims to find a good balance that makes the TP work correctly for a wide range of cases.

Keep in mind that these variables can be pushed to points where the TP misbehaves -- make your finger wet enough, or your power source dirty enough, and no TP will work correctly regardless of vendor and tuning.

Experience indicates that configuration changes that consider only a subset of these variables... are going to break some of the untested cases.

  • Dirty power: if the power supply is connected to a dirty/noisy power strip (one with several other power supplies connected), this can cause issues with the TP input; control for this by also testing on battery power.
  • Approach speed: some TPs calibrate as soon as they sense the finger on the TP -- if your finger approaches the TP very slowly, the calibration loop might catch signal of your finger _near_, but not in contact with the TP, leading to erratic tracking; control for with very slow approach to the TP as well as fast & firm approach to the TP.
  • Firmness of touch: very light contact with the TP can lead to erratic tracking; control for this using a very light touch, as well as firm contact with the TP.
  • Hand placement: the ideal condition for the TP is where only one finger contacts the laptop; so try
    • strictly one finger
    • second hand holding the unit near the antennas / speakers
    • second hand holding the corner of the base assembly
    • second hand near (but not touching) touchpad
    • thumb resting on buttons
  • Lap vs table: body contact /proximity with the laptop can affect TP behaviour -- test with the laptop on your lap, then on a plastic or wooden table.
  • Humidity and temperature: test in hot+humid, hot+dry, cold+humid, cold+dry environments; the top risk is hot+humid.
  • Dust and humidity: dust, specially combined with humidity, poses a hard problem for TPs, test with talcum powder in a humid environment.
  • Sweaty/wet finger: a drop of water or a wet finger are expected to confuse TPs. Sweaty fingers are a hard problem for TPs but should be able to operate passably.
  • Finger size: different finger sizes look very different to the TP software -- test with users with various finger sizes. Ensure you test with children!
  • User variation: Other variations in users bodies and usage patters can affect the TP. Ensure you test with a number of users.