Windows – Remote Desktop: Sending Ctrl-Alt-Left Arrow/Ctrl-Alt-Right Arrow to the remote PC

keyboard shortcutsremote desktopwindows

I need use the key combinations CtrlAltLeft Arrow and CtrlAltRight Arrow in an application on my computer. When I use Remote Desktop to connect to that computer, either the Remote Desktop Client (mstsc.exe) or the RDP server implementation swallow these key combinations. The combos appear to be reserved to the Remote Desktop, although they don't seem to be doing anything.

Is there a way (supported or not) to disable this behavior so that the key combinations are sent to my application?

Best Answer

The hotkeys Ctrl+Alt+Left Arrow and Ctrl+Alt+Right Arrow are eaten up by the Remote Desktop Client. Their only effect is to switch you to back to the host computer.

It looks like this was some intended feature that was never fully programmed and completed, but there is no way to turn it off. These hotkeys are not even listed by Microsoft in its official documentation at Remote Desktop Services Shortcut Keys.

Solution 1 : Use the Microsoft Store version

Another version of RDP can be found in the Microsoft Store at Microsoft Remote Desktop.

This version does not have this semi-implemented feature, so it lets through these hotkeys without a problem. This was verified on Windows 10 version 1903.

Solution 2 : Translate the hotkeys on both client and server

This solution will use AutoHotkey installed on both client and server, to:

  • On the client, translate the above hotkeys to others that are not intercepted by RDP
  • On the server, translate these keys back to the above hotkeys.

You may for example use on the client the following AutoHotkey script to convert
Ctrl+Alt+arrow to Ctrl+Win+arrow:

;Send Ctrl+Win+Left when user types Ctrl+Alt+Left
^!Left::
send !#{Left}
return

;Send Ctrl+Win+Right when user types Ctrl+Alt+Right
^!Right::
send !#{Right}
return

You may use on the server the following AutoHotkey script to convert
Ctrl+Win+arrow to Ctrl+Alt+arrow:

;Send Ctrl+Alt+Left when user types Ctrl+Win+Left
^#Left::
send !^{Left}
return

;Send Ctrl+Alt+Right when user types Ctrl+Win+Right
^#Right::
send !^{Right}
return

If required, you may restrict these hotkeys to particular windows or process by using the AutoHotkey commands of #IfWin[Not]Active / #IfWin[Not]Exist.