# Using keyboard shortcuts on multliple machines using VM & RDP

We're a bit late to the working-from-home party, but making an effort.

I got the following situation:

1. RDP
2. Hyper-V
3. SSL VPN
4. RDP
5. RDP

Ordinarily I connect from my workstation (bottom left) to the server (bottom right) by RDP. There are more servers involved, but all those are taken care of by the workstation and don't need user action.

Now, I spun up a virtual machine using Hyper-V on my personal computer (top). Log into the network using SSL VPN and RDP into both the workstation and the server. All working fine, except I now got a hotkey problem.

Ordinarily, I use Ctrl⊞ Win and Ctrl⊞ Win to switch between virtual desktops, both on my home machine and my workstation. I'd like to keep doing that, even when I'm connecting from one to another. Naturally, when using RDP, you got a choice:

By default I get 3 options. Apply Windows key combinations:

• On this computer
• On the remote computer
• Only when using the full screen

I'd like to have a combination of both, while full-screen. The obvious choice would be using a 4th key as optional. Pressed? Send to remote. Not pressed? Local. Or switch out one of the buttons. However, there's no such option that I'm aware of.

I'm looking for a workaround. Note that it will not only have to counter the RDP, but the Hyper-V environment as well. Luckily, it appears to use a similar protocol. After all, these are the choices I get in the Hyper-V settings:

Looks quite familiar.

I want my hotkeys on my personal machine. I want my hotkeys on the workstation. Having hotkeys everywhere else is a bonus.

If all else fails, third-party software is an option.

The obvious choice would be using a 4th key as optional. Pressed? Send to remote. Not pressed? Local. Or switch out one of the buttons.

Sice the remote software will probably be listening to keys we can leave the default winctrl> and winctrl< alone. Instead if we can get some software to listen to keybinds and some software to change the desktop (without using keys) we can just define our own keybinds to change desktop.

• Changing desktop: we can use VirtualDesktop to change desktop.
Note: I have tested the software works, but I don't have the remote software you are using.

Just get the master branch from GitHub and run .\Compile.bat.

• Listening to keybinds: we can use AutoHotKey to listen on winshift> and winshift<.

I have tested with the following script. Change path\to to the correct path.

#+Left::
Run path\to\Virtualdesktop.exe /Left,,Hide
return

#+Right::
Run path\to\Virtualdesktop.exe /Right,,Hide
return