© Amit Singh. All Rights Reserved.


SMSRotateD Movie
Movie of SMSRotateD in Action

SMSRotateD is a demonstration application that triggers screen rotation based on the orientation data it retrieves from the Sudden Motion Sensor (SMS) built into newer Apple notebook models. It uses the SMS to detect if the notebook has been physically rotated sufficiently (where "sufficient" is defined as a preconfigured threshold) in such a manner that the display's orientation has changed from landscape to portrait, or vice-versa. When such a change occurs, SMSRotateD triggers an appropriate rotation of the displayed screen. This movie (QuickTime format, no audio, 6.5 MB) depicts the operation of SMSRotateD. Note that besides clockwise and anti-clockwise rotations, SMSRotateD also supports upside-down (180 degree) rotations.

Using SMSRotateD

SMSRotateD Application Window

After launching SMSRotateD, the "Start" button within the application's window must be pressed to enable SMS-based screen orientation. When "Start" is pressed, the notebook's base should be parallel to the ground, to allow SMSRotateD to establish a "level" state. Thereafter, the button becomes the "Stop" button. As a convenience and safeguard, the <escape> key toggles between the two states of the button. Disabling SMS-based screen orientation (that is, going to the "Stop" state, whether by pressing "Stop" or by hitting <escape>) resets the screen to its original, non-rotated state. Moreover, quitting the SMSRotateD application also resets the screen.

On some notebooks, you might need to check one, or even both, of the axis flipping checkboxes. For example, if physically rotating the notebook 90 degrees clockwise causes the screen to rotate anti-clockwise, checking the "Flip x-axis" box will rectify this behavior.

Another important point to note is that SMSRotateD does not alter the user-facing orientation of the built-in trackpad. In other words, even though the screen has been rotated, say, by 90 degrees, the trackpad logically remains in its original position.

Source Code

Source code for the underlying techniques used by SMSRotateD is available in my forthcoming book "Mac OS X Internals".


For further discussion on this topic, please use this thread on the Mac OS X Internals forums.


You must read and agree to this site's terms and conditions before downloading or using any software or other material available from this site.

If you have trouble running this software, please read these caveats.

Limited-functionality demonstration application