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

88,400

Solution 1

With my graphics card, this approach works:

  1. Download Display (website is down as of 2020-10-11, mirrors here and here).

  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.

Solution 2

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-<

Solution 3

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

Solution 4

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!

Solution 5

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
Share:
88,400

Related videos on Youtube

wax eagle
Author by

wax eagle

Computer Programmer.

Updated on September 18, 2022

Comments

  • wax eagle
    wax eagle over 1 year

    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?

  • Ivo Flipse
    Ivo Flipse almost 12 years
    Hmmm 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...
  • avirk
    avirk almost 12 years
    Ctrl+Alt+Uparrow will do the job isn't it :-)
  • Ivo Flipse
    Ivo Flipse almost 12 years
    @avirk for some reason that doesn't do anything for me :S
  • avirk
    avirk almost 12 years
    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
    avirk almost 12 years
  • avirk
    avirk almost 12 years
    @iglvzx yes it depends on display driver
  • wax eagle
    wax eagle almost 12 years
    This works very well.
  • Glen Little
    Glen Little over 10 years
    The version there today (Version 1.2 (build 14)) does have an option to specify which monitor to rotate: display /device 2 /rotate 90
  • Abdulla
    Abdulla over 10 years
    This is great! Also useful is C:\Display.exe /rotate:90 /toggle to toggle between the default rotation and the specified one.
  • wax eagle
    wax eagle over 10 years
    This is graphics card dependent unfortunately. But good answer for Intel Graphics folks.
  • Mike Viens
    Mike Viens over 9 years
    Bless you kind sir, for helping me find how to disable this terrible invasion.
  • Shayan
    Shayan over 5 years
    I use autohotkey with it like this: !#right:: Run A:\display\display.exe /device 1 /rotate:90