Auto Rotate Screen

After I constructed my X60 Tablet, I ran into issue common for all tablets, rotating the screen automatically when the device is rotated. Initially, I used IRotate to rotate via a quick selection in the System Tray Icon.

It soon became a hassle and this program AutoRotateScreen (ARS) was born. Using the motherboard accelerometer (Active Protection System) built into most Thinkpads to detect changes in orientation, the program will rotate the screen to the desired orientation.

You can get the program from its releases page on Github.

 

Features:

  1. Custom device orientation setting for each display orientation
  2. Able to disable unneeded orientation
  3. Variable Delay/Poll Time
  4. Minimise to System Tray on system start to not eat up precious taskbar space.
  5. For non-Thinkpads, simply apply the “/s” command-line parameter to disable the warning messages (I suggest you use IRotate in this case)
  6. Can use Intel shortcut keys to rotate if the display driver is too outdated
  7. System Tray Icon to disable rotation on the fly
  8. Reasonably low memory footprint, less than 10MB when sitting in the System Tray. If you are still picky about this, you can use the 0.31 version also available on the Sourceforge Files page. That older version was written in Win32 API which has far lower memory usage.

Drawbacks:

  1. No auto-calibration. This is because the Thinkpad Accelerometer data output may differ across different machines
  2. Ugly interface. Not that I don’t want to make it better. But I can’t see the point in putting too much effort if you only gonna use the calibration interface once then leave the program on its own thereafter.

Based on the features, you can tell this is an improvement over Lenovo’s original auto rotation software.

Supports Windows XP and above (32 and 64 bit). No other installation needed, ARS has been statically compiled so all libraries have already been included in the executable.

Written in: C++11 and QT framework

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>