38

I have two monitors, will a full-screen remote desktop session running on one of them, and regular windows programs running on the other.

When one of the other programs have focus, I can Alt+Tab between the windows normally, and one of the choices that I can Alt+Tab to is the remote desktop.

Once I switch to the remote desktop, the keyboard is "trapped" by the remote desktop, so that further Alt+Tab's switch between the programs open in the remote desktop.

Is there a keyboard shortcut that "un-traps" the keyboard while the remote desktop has the focus, so that a subsequent Alt+Tab will switch to one of the programs on my other monitor?

(I am used to VirtualBox virtual machines where there is a key (usually Right Ctrl) which does precisely that, i.e. un-traps the keyboard from the VM.)

2
  • I don't know about un-trapping via hot-key, but there's a setting in MSTSC that will disable command key usage entirely within the VM.
    – Iszi
    Jun 13, 2011 at 20:25
  • I call it the ALT-TAB-TRAP
    – lode
    Jul 18, 2020 at 19:29

6 Answers 6

18

When full screen and set active, there is no way to "untrap" keys.

However, based on your comments on the other answer, if you just want a plain keyboard only method of getting out of Remote Desktop, try the following:

Press Ctrl+Alt+Pause/Break.

This will take you out of full screen mode and "untrap" the keys, meaning you can do Alt+Tab. To get back to full screen mode, simply do the same shortcut.

2
  • 7
    This is slightly inconvenient as you have to re-maximize the window when you return to it, but I guess it'll do. Jun 13, 2011 at 21:31
  • 1
    Ctrl+Alt+Pause/Break will also maximize the window. Apr 18, 2018 at 9:06
67

Since I had the same problem and read these answers I must add my solution - maybe it helps someone else.

I wanted to press Ctrl+Alt+Pause/Break but accidently hit Press Ctrl+Alt+Home.

I found that this moves the focus out of the maximized window to the title bar and after that Alt+Tab is working.

Think this is slightly more handy ..

8
  • BAM! this is the answer. it should be noted, though, that you have to be quick. one is not able to hold control and tab through the list of applications and think about where one wants to land. focus returns to the remote desktop window quickly if you don't make a selection. as such, it's best to just hit the ctrl+alt+home and then alt+tab back to the prior window and then move more carefully from there.
    – Dave Rael
    May 27, 2014 at 21:22
  • 2
    @DaveRael When I hit Ctrl+Alt+Home I don't have to be quick - it seems to be permanent until I click back into the RDC window (this is on Win10). Actually, I've now got the oppose problem of untrapping the keyboard: I now can't get the RDC window back in focus without clicking on it with the mouse! May 25, 2016 at 10:20
  • 1
    My experience is the same as @CharlesRoper in Windows 10. Untrapping is easy with Ctrl+Alt+Home. Getting RD back into focus is more difficult.
    – JohnnyO
    Oct 18, 2016 at 6:40
  • I decided to use Ctrl+Alt+Pause/Break instead of Ctrl+Alt+Home because the former is better at setting focus back to RD after untrapping. So this is my typical workflow: Ctrl+Alt+Pause/Break, then work on the host Windows, and when I'm ready to go back to RD, then Alt+Tab into it and then Win+Up to make it full-screen and it has focus again. This seems like the only reliable way to get focus back to RD without using the mouse.
    – JohnnyO
    Oct 18, 2016 at 6:56
  • 1
    @CharlesRoper Might be late (I came here hunting the Ctrl-Alt-Home combination) but for me (when RDPing from Windows 10), simply pressing Esc after Ctrl-Alt-Home will return control to the full-screen RDP session (or Alt-Home away, then Alt-Home back).
    – TripeHound
    Oct 23, 2019 at 7:37
4

Like Bertram said, Ctrl+Alt+Home gives focus to the title bar so that things like Alt+Tab go to the local desktop.

I've further found that hitting ESC gives focus back to the remote desktop. (On Windows 10, I didn't have the time-out problem that @JohnnyO reported.)

3
  • Not sure why this was downvoted... this (including using Esc which I'd found independently) works for me when RDPing from a Windows 10 machine.
    – TripeHound
    Oct 23, 2019 at 7:40
  • Hm, Esc not working for me to return the focus from the RDP window to inside of the RDP window. Using Windows 10 as well. Jun 2, 2020 at 6:09
  • Oh, it's actually working, but kind of buggy. If you've just used Ctrl + Alt + Home to move focus out, then Esc is working, but if you've used some additional shortcuts like Alt + Tab or Ctrl + Win + <Arrow> afterwards, then Esc is not working. Jun 2, 2020 at 6:12
4

Before connecting to the remote computer, you can change in the properties (local sources) to never send keyboard shortcuts to the remote pc. By default its set to: Only when in full-screen. When set to local, certain keyboard shortcuts that are different than what you normally use become active.

Alt-tab becomes alt-pageup.
Ctrl-alt-del becomes ctrl-alt-end.

Microsoft documentation about this

2
0

New Version

Windows 10 Home, Windows 10 Home

Nothing should go wrong, but since this grabs Left Mouse Button and Enter, probably save all your work first.

I was pretty awful at AutoHotKey when I wrote this. This utility is one of the things that got me learning AHK, although hough I never took it very far.

This version of the script functions much better. It's also adapted from my script to allow a VirtualBox Virtual Machine to do the same thing

While RDC is open and focused, it uses ALT+Tab to trigger ALT+Page Down which is built into Terminal Services to activate the server's 'Task Switcher'.

#SingleInstance, Force
hostkey = RCTRL                                            ; set this to your VirtualBox HOSTKEY
boxMode := ""
Hotkey, <#Tab, WinTabbing
Hotkey, >#Tab, WinTabbing
Return

TabFinish:
    Send, {ALT UP}
    RDCKeysState("Off")
Return

Tabbing:
    Send, {Right}
Return

WinTabbing:
  WinGetTitle, Title, A
  StringRight, TitleEnd, Title, 25

  RDCKeysState("On")
  If (TitleEnd = "Remote Desktop Connection") and (not Title = "Remote Desktop Connection") {
    ; RDC mode, but not the launcher window
 
    Send, {Alt down}{PgDn}                                 ; Press and hold alt, and press pgdn

  } Else {                                                 ; Host mode

    Send, {ALT Down}{TAB}                                  
    Sleep, 200                                             ; Sleep to wait a split-second for Alt-Tab window to appear
    iter := 0                                              ; loop tracker
    Loop {
      iter := iter+1
      if (!WinExist("Task Switching") Or iter > 60) {      ; If Alt+tab is gone, or it's been 30 seconds
        Send, {ALT UP}
        Break
      }
      Sleep, 500
    }
  }
Return

RDCKeysState(toggle) {
    ; This function maps all the ways that a user might end the alt-tab box.
    Hotkey, Enter, TabFinish, %toggle%                   ; Map Enter, Click, and their alt-counterparts to TabFinish()
    Hotkey, !Enter, TabFinish, %toggle%
    Hotkey, LButton, TabFinish, %toggle%
    Hotkey, !LButton, TabFinish, %toggle%
    Hotkey, *LWIN UP, TabFinish, %toggle%
    Hotkey, *RWIN UP, TabFinish, %toggle%
    Hotkey, *Tab, Tabbing, %toggle%
}

; if you get the error 'could not close the previous instance of the script,`
; while ever trying to reload the script, you need to right click it and select
; 'Run As Administrator'

Old Version

Windows 10 Home, and Windows 2012 Server

I wanted functionality to do both, so I wrote an AutoHotKey script for my local machine.

I gave my local computer full access to Windows Key Commands even while RDC is maximized

RDP Options. local resources tab

And then wrote an AutoHotKey script (I am not well-versed in it) that captured WIN+TAB (#Tab), while RDC is open and then uses that and the ALT+Page Down built into Terminal Services to activate the server's ALT+Tab. Once it's open, you can navigate with arrow keys and enter/click to select.

If you can improve upon this, please do, and share.

#persistent
#Tab::WinTabbing()
return

WinTabbing() {
    WinGetTitle, Title, A                             ; Get Title
    StringRight, TitleEnd, Title, 25                  ; RDC is 25 letters long
    If (TitleEnd = "Remote Desktop Connection")       ; Check that an RDC is active. This will probably have
                                                      ; issues with the inital "connect to dialog of RDC
    {
        Send, {Alt down}{PgDn}                        ; Press and hold alt, and press pgdn
        Hotkey, Enter, Entering, On                   ; Map Enter, Click, and their alt-counterparts to Entering()
        Hotkey, !Enter, Entering, On
        Hotkey, LButton, Entering, On
        Hotkey, !LButton, Entering, On
        return
    }
}
; There is no return statement at the end of this function, because we want
; Control Tab to work when focused in any other window.

; I tried to map Tab/Alt Tab (because alt is still pressed) to Right arrow
; and Control Tab/Control Alt Tab to left arrow. I was unable to get it to work.
; I left the functions in comments if anyone want to try    
; Righting()
;   Send, Right
;   return
; }

; Lefting() {
;   Send, Right
;   return
; }

Entering() {
    Send, {Alt}{Enter}                                ; Releases Alt, and makes the selection
    Hotkey, Enter, Entering, Off                      ; See WinTabbing()
    Hotkey, !Enter, Entering, Off
    Hotkey, LButton, Entering, Off
    Hotkey, !LButton, Entering, Off
    return
}
-2

Remote desktop generally doesn't have an "untrap" key, but the mouse is never trapped. Simply move it anywhere on the other monitor, click so that the RDP client loses focus, and then your keys will work fine with the rest of your system until you give the RDP client focus again.

2
  • 7
    The whole point of using keyboard shortcuts is that you don't have to touch the mouse... Jun 13, 2011 at 21:03
  • @HighCommander4: You would need to look into 3rd-party RDP clients, then. The Microsoft one is all or nothing. Jun 13, 2011 at 21:09

You must log in to answer this question.

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