XO-1/Touchpad/Issues: Difference between revisions
(→Log) |
|||
Line 8: | Line 8: | ||
cant help you :( |
cant help you :( |
||
'''IF YOU READ THIS YOU ARE GAY''' |
'''IF YOU READ THIS YOU ARE GAY''' |
||
= Intermittent failure after replacement = |
|||
The touchpad in my G1G1 XO was recently (Feb 2010) replaced. Worked for a while, but now is intermittently stuck to moving vertically - can be forced to move to the left of right margin of the frame by agressively moving finger on touchpad. |
|||
It could be related to the wifi I recently protected. |
|||
'''IF YOU READ THIS YOU ARE GAY''' |
'''IF YOU READ THIS YOU ARE GAY''' |
Revision as of 18:13, 22 May 2010
Image:Support-banner-square.png|173px|community support pages rect 0 0 135 204 [1] rect 135 0 345 204 Support FAQ rect 0 205 135 408 [2]
- Comment : there's some whitespace here:
rect 135 205 345 408 Other support
- maybe desc none is better. testing.
desc none
</imagemap>
Occasionally, a laptop's touchpad will behave abnormally. This behavior includes the pointer jumping to a corner of the screen, or moving wildly. On current software (release 8.2 or better, consider upgrading!), the touchpad will be automatically recalibrated when this happens. You should hold your fingers away from the touchpad when this happens. Later Touchpad driver changes further reduce this problem.
A recalibration of the touchpad can be manually invoked using the "four-finger salute" (Escape + Frame + Right Arrow + Fn, with Fn pressed last). Work-arounds in extreme cases include using a common USB mouse with the laptop.
cant help you :( IF YOU READ THIS YOU ARE GAY
IF YOU READ THIS YOU ARE GAY
Reducing the impact
In addition to forcing a recalibration yourself, using the four-finger salute, the kernel will sometimes notice a recalibration is necessary, and commence the process automatically. In releases 8.2 and later it's possible to adjust some parameters which affect how, and how quickly, the kernel will tell the touchpad to recalibrate. This script will sets the most pertinent of the mouse driver parameters to values that make the calibration take less time -- meaning your fingers don't have to be off the pad as long before you can start using it again. Unfortunately, this needs to be run as root (sudo), so you can't just put it into a .xsession or .bashrc file.
Note: this is only recommended if you're running a stock version of release 802 or earlier, or early releases of F11 on the XO-1. More recent driver work has rendered what this script does mostly unnecessary.
#!/bin/sh # the available touchpad parameters (the ones pertinent to recalibration) # are as follows: # # recalib_delta: packets containing a delta this large will # cause a recalibration. (int) # jumpy_delay: delay (ms) before recal after jumpiness detected (int) # spew_delay: delay (ms) before recal after packet spew detected (int) # recal_guard_time: interval (ms) during which recal will be # restarted if packet received (int) # post_interrupt_delay: delay (ms) before recal after recal # interrupt detected (int) # autorecal: enable recalibration in the driver? (int) # p=/sys/module/psmouse/parameters if [ $(whoami) != root ] then echo must be root >&2 exit 1 fi ( echo Before: ; grep ^ $p/* ) >/tmp/cur_psmouse_params if [ "$1" = show ] then cat /tmp/cur_psmouse_params exit fi echo Setting mouse parameters: # all values in milliseconds echo 200 >$p/jumpy_delay echo 200 >$p/spew_delay echo 400 >$p/recal_guard_time echo 100 >$p/post_interrupt_delay ( echo After: ; grep ^ $p/* ) | diff /tmp/cur_psmouse_params - exit
Large Jump Logging Technique
The following highly technical sequence is for developers with build 802 on XO-1 C2 units, which lets them capture touchpad events in more detail ... it can be deployed to children with the instruction "when the touchpad goes nuts, please press the key to the left of the frame key, this will record data that we will use to analyse the problem, and you'll hear a short beep when it is done.".
The key to the left of the frame key on the Keyboard is the Bulletin Board key, which has two rectangles overlaid, sometimes in a circle () and was intended to toggle display of the shared visual clipboard; a feature that is not yet shipped.
To configure a laptop for this data gathering, the following commands must be run as root on the laptop:
# make a script that records the kernel messages to a file. cat << EOF > /usr/local/bin/grab-touchpad-log #!/bin/sh dmesg | gzip - > /home/olpc/dmesg.\`date +%s\`.gz speaker-test --test=sine --frequency=800 & PID=\$! sleep 0.1 kill \$PID EOF # make the script executable. chmod +x /usr/local/bin/grab-touchpad-log # configure kernel to record touchpad events on next boot and now. echo 'echo 1 > /sys/module/psmouse/parameters/tpdebug' >> /etc/rc.local echo 1 > /sys/module/psmouse/parameters/tpdebug # set up the matchbox window manager to run the script when the key # to the left of the frame key is hit. echo 'XF86Messenger=!/usr/local/bin/grab-touchpad-log' \ >> /usr/share/sugar/data/kbdconfig