Touchpad/Testing: Difference between revisions
No edit summary |
|||
Line 8: | Line 8: | ||
Right after boot, use "dmesg | grep -i psmouse" to see what protocol is in use. This usually reveals the tp in use. |
Right after boot, use "dmesg | grep -i psmouse" to see what protocol is in use. This usually reveals the tp in use. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
= Variables = |
= Variables = |
||
Line 47: | Line 32: | ||
* '''Finger size''': different finger sizes look very different to the TP software -- test with users with various finger sizes. Ensure you test with children! |
* '''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. |
* '''User variation''': Other variations in users bodies and usage patters can affect the TP. Ensure you test with a number of users. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
[[Category:Touchpad]] |
[[Category:Touchpad]] |
Revision as of 06:38, 2 February 2012
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.
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.
Tests
Standing finger
- Place your finger in one spot, keep it there for a long time. The pointer should not move.