Developers Tip: Detecting Orientation and Usage Mode

Posted on 18 March 2013, Last updated on 21 September 2019 by

clamshell-figure-2

In our regular Ultrabook software development articles we’ve been bringing you tips, tricks and thoughts about many aspects of touch, sensor and perceptual computing coding for Ultrabooks and Ultrabook convertibles. Today we’ve got a simple tip for developers wanting to read the orientation state and operating mode. If the user has a convertible you really should be paying attention to whether it’s in a slate or clamshell state so here’s a how-to and code sample.

The code samples are in C++ and supporting files for Visual Studio 2012 are supplied. The example is a taskbar-based notification app.

There are a couple of issues to consider. Firstly the state notification isn’t present in all convertibles. Secondly, you’ll need to use different methods of detection in Windows 8 desktop and the modern UI environments. Obviously this application example is for the desktop environment.

You’ll also need to consider whether the auto-rotation is off and you do that using a call to GetAutoRotationState.

clamshell-figure-6

 

A full set of instructions is available as a PDF here.

The codeset is available here.

The original article is available here.

This is a sponsored post brought to you by Intel and Ultrabooknews.  All content in this article is written by Ultrabooknews. Subject by Intel. We thank Intel for their support.

Comments are closed.

Find ultra mobile PCs, Ultrabooks, Netbooks and handhelds PCs quickly using the following links:

Acer C740
11.6" Intel Celeron 3205U
Acer Aspire Switch 10
10.1" Intel Atom Z3745
HP Elitebook 820 G2
12.5" Intel Core i5 5300U
Acer Aspire E11 ES1
11.6" Intel Celeron N2840
Acer C720 Chromebook
11.6" Intel Celeron 2955U
ASUS Zenbook UX305
13.3" Intel Core M 5Y10a
Dell Latitude E7440
14" Intel Core i5-4200U
Lenovo Thinkpad X220
12.5" Intel Core i5
Acer Chromebook 11 CB3-131
11.6" Intel Celeron N2807
Lenovo Ideapad Flex 10
10.1" Intel Celeron N2806