Auto-Rotate for Tablet PCs and Similar Form-Factors
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-
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:/
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
- Started by
- Completed by
- Bryce Harrington