How do I set up a hotkey or shortcut to rotate my screen in Windows?

22

13

I've recently acquired a set of monitor arms that allow for free rotation of my monitors. I'd like to be able to quickly switch from one orientation to another on the fly, without having to go through the trouble of accessing the screen rotation features of the operating system.

How do I set up a hotkey or shortcut to quickly switch the orientation of my monitor?

wax eagle

Posted 2012-07-10T15:31:11.027

Reputation: 363

Answers

30

With my graphics card, this approach works:

  1. Download Display.

  2. Extract the Display.exe to a location of your choice (e.g., C:\Display.exe).

  3. Use the [right-click] -> New -> Shortcut dialogue to create shortcuts for the desired orientations:

    C:\Display.exe /rotate:0
    C:\Display.exe /rotate:90
    C:\Display.exe /rotate:180
    C:\Display.exe /rotate:270
    
  4. (optional) In each shortcut's properties, you can specify a Shortcut Key.

Dennis

Posted 2012-07-10T15:31:11.027

Reputation: 42 934

I use autohotkey with it like this: !#right:: Run A:\display\display.exe /device 1 /rotate:90 – Shayan – 2019-01-25T11:02:52.597

This works very well. – wax eagle – 2012-07-10T17:06:53.437

I should mention that this only appears to work on the primary display (i see no options in it's argument list for dealing with a second monitor, but that's the monitor I wanted to change anways) – wax eagle – 2012-07-10T17:30:29.540

7The version there today (Version 1.2 (build 14)) does have an option to specify which monitor to rotate: display /device 2 /rotate 90 – Glen Little – 2013-12-22T22:31:01.950

5This is great! Also useful is C:\Display.exe /rotate:90 /toggle to toggle between the default rotation and the specified one. – Abdulla – 2014-01-12T13:04:30.987

3

For me a simple CTRL+ALT+ARROW KEY worked just fine. Way simpler than the script, downloading display.exe and etc.

Antonio Schuh

Posted 2012-07-10T15:31:11.027

Reputation: 31

This is dependent on your graphics driver, the display.exe solution seems to work regardless of driver. – wax eagle – 2014-02-06T15:52:55.420

3

If some people are still using this thread or searching for this at google, I have the PERFECT SOLUTION.

  1. Download Display

  2. Extract to C:\Display\ (or a folder of your choice)

  3. Open cmd, and write in the path to display.exe - C:\Display\display.exe\ -listdevices (this will show you all of your screens, letting you choose which one to rotate)

  4. Choose which device (screen) you would like to rotate by their index number.

  5. Create a .bat file using notepad. (Open notepad, write the lines shown below, save as "all files" and write ".bat" after name of your choice)

  6. Write C:\display\display.exe -device (number of your device) -rotate 90 /toggle

  7. If the "90 (degrees)" is the wrong screen rotation, just change it to "180" or "270".

  8. You should be done now, and you may edit the shortcut or/and add it to your Taskbar by creating a new Toolbar.

->The nice thing about this way, is that you only need one shortcut and not multiple-<

Jehzzy

Posted 2012-07-10T15:31:11.027

Reputation: 31

2

Someone wrote a script on the AutoHotKey forums that does just this. But I haven't tried it myself.

He made it so that pressing the Windows key + a numpad key will rotate it:

  • Win + 4 : Rotates screen to Portrait
  • Win + 2 : Rotates screen to Landscape ( flipped )
  • Win + 6 : Rotates screen to Portrait ( flipped )
  • Win + 8 : Rotates screen to Landscape

Here's the script:

#SingleInstance Force
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

#Numpad8:: ; Landscape Mode - WinLogo + Number pad 8
IfWinExist, Screen Resolution
{
    WinActivate, Screen Resolution
}
else
{
    run "desk.cpl"
}   
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
Send, {Tab}
sleep 500

send, {Alt Down}
send, {o}
send, {Alt Up}

sleep 500
send, {Up} ; Send Up 4 times to make sure we are at the start of the dropdown
send, {Up}
send, {Up}
send, {Up}
sleep 500
send, {Alt Down}
send, {a}
send, {Alt Up}
WinWait, Display Settings
if ErrorLevel
{
   MsgBox, WinWait timed out for display settings.
   return
}
send, {Alt Down}
send, {k}
send, {Alt Up}
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
send, {Alt Down}
send, {F4}
send, {Alt Up}
return

#Numpad4:: ; Portrait Mode - WinLogo + Number pad 4
IfWinExist, Screen Resolution
{
    WinActivate, Screen Resolution
}
else
{
    run "desk.cpl"
}   
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
Send, {Tab}
sleep 500

send, {Alt Down}
send, {o}
send, {Alt Up}
;return
sleep 500
send, {Up} ; Send Up 4 times to make sure we are at the start of the dropdown
send, {Up}
send, {Up}
send, {Up}
send, {Down}
sleep 500
send, {Alt Down}
send, {a}
send, {Alt Up}
WinWait, Display Settings
if ErrorLevel
{
   MsgBox, WinWait timed out for display settings.
   return
}
send, {Alt Down}
send, {k}
send, {Alt Up}
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
send, {Alt Down}
send, {F4}
send, {Alt Up}
return



#Numpad6:: ; Portrait Mode (Flipped) - WinLogo + Number pad 6
IfWinExist, Screen Resolution
{
    WinActivate, Screen Resolution
}
else
{
    run "desk.cpl"
}   
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
Send, {Tab}
sleep 500

send, {Alt Down}
send, {o}
send, {Alt Up}

sleep 500
send, {Down} ; Send Up 4 times to make sure we are at the end of the dropdown
send, {Down}
send, {Down}
send, {Down}
sleep 500
send, {Alt Down}
send, {a}
send, {Alt Up}
WinWait, Display Settings
if ErrorLevel
{
   MsgBox, WinWait timed out for display settings.
   return
}
send, {Alt Down}
send, {k}
send, {Alt Up}
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
send, {Alt Down}
send, {F4}
send, {Alt Up}
return

#Numpad2:: ; Landscape Mode (Flipped) - WinLogo + Number pad 2
IfWinExist, Screen Resolution
{
    WinActivate, Screen Resolution
}
else
{
    run "desk.cpl"
}   
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
Send, {Tab}
sleep 500

send, {Alt Down}
send, {o}
send, {Alt Up}

sleep 500
send, {Up} ; Send Up 4 times to make sure we are at the start of the dropdown
send, {Up}
send, {Up}
send, {Up}
send, {Down}
send, {Down}

sleep 500
send, {Alt Down}
send, {a}
send, {Alt Up}
WinWait, Display Settings
if ErrorLevel
{
   MsgBox, WinWait timed out for display settings.
   return
}
send, {Alt Down}
send, {k}
send, {Alt Up}
WinWait, Screen Resolution
if ErrorLevel
{
   MsgBox, WinWait timed out.
   return
}
send, {Alt Down}
send, {F4}
send, {Alt Up}
return

Ivo Flipse

Posted 2012-07-10T15:31:11.027

Reputation: 24 054

1Hmmm I actually decided to give it a try myself and for me it seems to bring up the Windows 7 Screen Resolution dialog from which I can change the orientation. Close, but no cigar... – Ivo Flipse – 2012-07-10T15:45:21.533

Ctrl+Alt+Uparrow will do the job isn't it :-) – avirk – 2012-07-10T15:47:54.147

@avirk for some reason that doesn't do anything for me :S – Ivo Flipse – 2012-07-10T15:48:43.170

May be I'm forgetting but this is the combination you can try shift instead of Alt. Also try the other arrow keys. AFAIK this will work but sometimes it doesn't. – avirk – 2012-07-10T15:53:01.783

1@avirk That keyboard shortcut depends on your display drivers. For example, I believe if you have the Intel GFX or NVIDIA tray icon running it will work. – iglvzx – 2012-07-10T16:07:43.897

@iglvzx yes it depends on display driver – avirk – 2012-07-10T16:17:09.787

2

I had the same problem as you but i found out how to fix this kink. First got to Control Panel. Go to Display. Click on Advanced Settings. You will see 6 tabs. Click on the tab that says

Intel(R) Graphics and Media Control Panel.

You will see Graphics Properties at the bottom of the tab page.
Then select Advanced Settings and click OK. There will be 5 tabs. Click on the last tab. (Options and Support) You can set the shortcuts from there. Hope this helps!

Manthor

Posted 2012-07-10T15:31:11.027

Reputation: 21

Bless you kind sir, for helping me find how to disable this terrible invasion. – Mike Viens – 2014-09-29T21:38:33.283

2This is graphics card dependent unfortunately. But good answer for Intel Graphics folks. – wax eagle – 2014-01-21T22:12:30.460

0

ClickMonitorDDC allows to setup such the shortcut, on per-monitor basis if necessary. By the way, this tool also enables an easy (using mouse scroll) adjustment of brightness and contrast.

Hope

Posted 2012-07-10T15:31:11.027

Reputation: 167

0

There's a free app download you can get through the MS store: https://www.microsoft.com/en-us/p/screen-rotate/9nblggh3zd5h?activetab=pivot:overviewtab

It has a small memory footprint, so it's easy to leave running anytime you think you're going to be needing it. The hotkeys are customizable, or you can click on the icons. It iconifies to the taskbar notification area, meaning that the hotkeys still work.

It's nicely done; it does one simple job extremely well. Unlike Samsung's awful "Magic Rotate," it doesn't mess with your display resolution, so that I can have both a 4K display and easy-to-remember hotkeys.

ivanlan

Posted 2012-07-10T15:31:11.027

Reputation: 101

0

So, I just read this whole thread http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/how-torotate-screen-in-windows-7-by-a-shortcut/55fca2a8-c34f-41f6-81ba-ce44e7127aeb

Apparently, Microsoft is refusing to put this with a keyboard shortcut into Windows itself, highly likely you could try it with the drivers/utilities that your Graphics Cards vendor supplies.

For my current AMD setup I simply opened the AMD Vision Engine Control Center and went to preferences --> Hotkeys enter image description here

Then I chose Creating and Arranging Desktops in the Dropdown menu et voilá enter image description here

That's about the most simple way I could find; while I still find it suboptimal. Maybe other people could provide some screenshots how it's with the nvidia drivers.

kluka

Posted 2012-07-10T15:31:11.027

Reputation: 1 924