Features/Touchpad control panel section

From Sugar Labs
Jump to navigation Jump to search


This is an enhancement to the Control Panel that enables the selection of resistive or capacitative mode for the Touchpad on the OLPC XO-1 CL1 laptop.


Current status

  • Targeted release: (0.90)
  • Last updated: (16 Aug 2010)
  • Percentage of completion: 100%
  • Comment: feature accepted, patch pushed

This feature is being tracked in Ticket 2006.


After further consideration, it was decided to move this feature to the device section of the Frame.

The new device code (and related artwork) are attached to Ticket 2006.

It was also decided to default to capacitive mode upon reboot (See http://lists.sugarlabs.org/archive/sugar-devel/2010-August/025955.html).

Finger.png Stylus.png

Benefit to Sugar

There are approximately 1000000 XO-1 CL1 deployed. Many have very flaky capacitive touchpads, which makes the Sugar experience very tedious. This patch would enable users to switch to the resistive touchpad and in theory have a better experience. (Tests are being conducted in Peru, Paraguay, and Nigeria.)


To implement this feature:

  • two new icons were added to share/icons/sugar/scalable/devices:
capacitive.svg and resistive.svg
  • a new section was added to sugar/extensions/cpsection
  • a new icon was added to sugar/data/icons

We still need a script to be added to olpc-utils that is executed at boot time to: (1) change the mode of /sys/devices/platform/i8042/serio1/ptmode to 666; and (2) write a 1 to that node if a flag file exists ("/home/olpc/.olpc-pentablet-mode").

How To Test

I'm not sure how to make this easier.


  1. download File:Touchpad.tar and extract the files onto a USB drive
  2. sudo chmod o+w /sys/devices/platform/i8042/serio1/ptmode
  3. sudo cp /media/YOURUSB/module-touchpad.svg /usr/share/sugar/data/icons/
  4. sudo cp /media/YOURUSB/capacitive.svg /usr/share/icons/sugar/scalable/devices/
  5. sudo cp /media/YOURUSB/resistive.svg /usr/share/icons/sugar/scalable/devices/
  6. sudo mkdir /usr/share/sugar/extensions/cpsection/touchpad
  7. sudo cp /media/YOURUSB/*.py /usr/share/sugar/extensions/cpsection/touchpad/
  8. sudo rm /usr/share/icons/sugar/*.cache


  • This feature requires Fedora 11+ and Sugar 0.84+ (e.g., the build from Paraguay).
  • You'll have to do Step 2 every time the you reboot the system.
  • Substitute the name of your USB key for YOURUSB in the above instructions


  1. Open the Control Panel
  2. Click on the Touchpad icon
  3. Click on the icons and observe that the touchpad switches modes

User Experience

Anyone who has used Sugar in a high-humidity or dust environment on the CL1 hardware has probably experienced the jumping cursor due to the malfunctioning capacitive touchpad. Using a stylus is a different experience, but more predictable and robust in these situations.

Note that the section only will appear on CL1 hardware. There is no change to user experience with Sugar on other hardware platforms, including the more recent versions of the XO-1.0.


No additional dependencies are required to implement this feature.

Contingency Plan

None necessary, revert to previous release behavior.


Release Notes


The Sugar Release Notes inform end-users about what is new in the release. An Example is 0.84/Notes. The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the release team and shipped with the release.

Comments and Discussion