34

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?

0

9 Answers 9

43

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.

6
  • This works very well.
    – wax eagle
    Commented Jul 10, 2012 at 17:06
  • 1
    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
    Commented Jul 10, 2012 at 17:30
  • 9
    The version there today (Version 1.2 (build 14)) does have an option to specify which monitor to rotate: display /device 2 /rotate 90 Commented Dec 22, 2013 at 22:31
  • 5
    This is great! Also useful is C:\Display.exe /rotate:90 /toggle to toggle between the default rotation and the specified one.
    – Abdulla
    Commented Jan 12, 2014 at 13:04
  • 1
    I use autohotkey with it like this: !#right:: Run A:\display\display.exe /device 1 /rotate:90
    – Shayan
    Commented Jan 25, 2019 at 11:02
6

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

4

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

2
  • 3
    This is dependent on your graphics driver, the display.exe solution seems to work regardless of driver.
    – wax eagle
    Commented Feb 6, 2014 at 15:52
  • This will only work for intel graphics card (not on nvidia) Commented Apr 20, 2023 at 16:32
4

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.

3

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
7
  • 1
    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...
    – Ivo Flipse
    Commented Jul 10, 2012 at 15:45
  • Ctrl+Alt+Uparrow will do the job isn't it :-)
    – avirk
    Commented Jul 10, 2012 at 15:47
  • @avirk for some reason that doesn't do anything for me :S
    – Ivo Flipse
    Commented Jul 10, 2012 at 15:48
  • 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
    Commented Jul 10, 2012 at 16:07
  • 1
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!

3
  • 2
    This is graphics card dependent unfortunately. But good answer for Intel Graphics folks.
    – wax eagle
    Commented Jan 21, 2014 at 22:12
  • Bless you kind sir, for helping me find how to disable this terrible invasion.
    – Mike Viens
    Commented Sep 29, 2014 at 21:38
  • Had to install "Intel graphics command center" to enable hotkeys. There were no hotkeys avaiable in "Intel graphics control panel". I was able to install "Intel graphics command center" from the dell.com website only, installation from Microsoft Store freezes. I have Irbis tw100 windows 10 tablet with intel hd 500 graphics, but "Intel graphics command center" from Dell website works fine on this device.
    – d9k
    Commented Feb 13, 2023 at 9:10
1

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.

1

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.

2
  • I think that's the coolest answer. The link is broken but you can download app from github and read instructions there. Personally I set up hot key ctrl+alt+0 to rotate screen by 90 degrees (w command at settings -> hot keys -> "command line" column). App is just 789 kb and starts instantly. To access settings you must open app window from tray and then select Settings in app context menu.
    – d9k
    Commented Feb 18, 2023 at 19:23
  • You can also set up backlight brightness hotkeys with this app. For example: Ctrl + Alt + 8 | b -5, Ctrl + Alt + 9 | b + 5
    – d9k
    Commented Feb 19, 2023 at 9:03
0

This method worked on my Windows 10 Pro laptop.

Step 1: Install Python3 on your computer, if it is already not installed.

Step 2: Run the following command in the command prompt

python -m pip install rotate-screen keyboard pywin32

Step 3: Open a new text file on the Desktop with name screen_rotate.py and copy-paste following content in it

import rotatescreen
import keyboard

screen = rotatescreen.get_primary_display()

keyboard.add_hotkey('ctrl+alt+up', screen.set_landscape, suppress=True)
keyboard.add_hotkey('ctrl+alt+right', screen.set_portrait_flipped, suppress=True)
keyboard.add_hotkey('ctrl+alt+down', screen.set_landscape_flipped, suppress=True)
keyboard.add_hotkey('ctrl+alt+left', screen.set_portrait, suppress=True)

keyboard.wait()

Step 4: Now whenever you want to rotate screen, first run this Python script by double clicking it, and then use the following well known shortcuts for landscape, portrait, portrait_flipped, and landscape_flipped modes respectively :

ctrl+alt+up     
ctrl+alt+left   
ctrl+alt+right  
ctrl+alt+down   

Once done, close the running script. For more information, visit https://pypi.org/project/rotate-screen/#description
https://github.com/danny-burrows/rotate-screen

NOTE: If the script doesn't run by double-clicking on it, you can create a batch file named scr_rot.bat with the content python scr_rot.bat. Now double clicking on this bat file would run the python script and save you the trouble of opening a command prompt and then running the python-script. If you have more than one display, you can create similar shortcuts using rotatescreen.get_secondary_displays()

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .