Auto-Rotate for Tablet PCs and Similar Form-Factors

Registered by Duncan McGreggor

This blueprint has been superseded. See the newer blueprint "General requirements gathering for Xorg in Oneiric" for updated plans.

There's a few steps to handle autorotation:

1. Detect rotation
  - Listen for lid switch events?
  - Listen for accelerometer events?
2. Rotate screen using XRandR
3. Rotate touchscreen input devices
  - X server has a "Coordinate Transformation Matrix" property for each
device, use it to perform input coordinate transformation

I have a feeling that step 1 will be hardest, because I don't think
there's any standard way to determine device orientation. We probably
need some system-wide service to watch for these types of events and
handle them appropriately.

Step 2 is already performed by gnome-settings-daemon (g-s-d) when you
connect or disconnect a monitor. I would think it could be extended for
this purpose.

For step 3 we need a mapping from touchscreens to Xinerama screens. We
don't currently have any tool to do this. If you have a touchscreen on
one monitor, and you plug in another, you will need to set the transform
matrix manually or else your touchscreen will operate over the entire X
screen! I don't know where this mapping should live, but if g-s-d could
get to it then it could also handle this too.

For the full background on this, view the email thread here (the first part of this was forwarded, as the original discussion took place privately):
  https://lists.launchpad.net/multi-touch-dev/msg00761.html

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
Undefined
Drafter:
Chase Douglas
Direction:
Needs approval
Assignee:
Canonical Desktop Team
Definition:
Superseded
Series goal:
None
Implementation:
Deferred
Milestone target:
None
Completed by
Bryce Harrington

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.