Simulating the windows key as a modifier in PowerShell/CMD - windows

I'm trying to script a basic code for use on a company computer (so no extra downloads) to simulate pressing Ctrl + Shft + Win + B. Basically, our users when working remote will use Citrix to tunnel into their office desktops, and when they need to reset their graphics driver they cannot do so remotely. I'm trying to make a simple script to do so.
Is there any ways for PowerShell to recognize the windows key as a modifier so I can hit that key combo while remotely connected?

Related

How Mac keyboard can issue Alt key input in Apache Guacamole

I am using XFCE terminal in Debian linux on Apache Guacamole from MacOS X.
I'm trying to navigate between tabs in the XFCE's terminal using ALT key shortcuts (e.g. ALT+1 and ALT+2) like shown in the screen below:
I've tried every key combination I can think of, plus researched at places like this. But I haven't yet figured out the secret.
How can I issue these ALT- key combinations from my Mac keyboard in Guacamole?
Usually the modifier key ALT on a PC means "alternate" which would translate to Mac's keyboard symbology as Option (on some Macs drawn with a branching-switch icon):
Solution (when Guacamole uses realVNC)
According to realVNC (one of the possible connection protocols by Guacamole) your needed "from Mac to PC" key mapping would be:
Pressing "CmdL" (left Command key on your local Mac) will result in "AltL" (left Alt key on the remote PC/Linux)
Insightful thoughts
When using Guacamole, which probably uses VNC or XRDP protocol to connect your local client (Mac) to the remote server (Linux), the keyboard mapping has to pass 2 layers, from your local hardware/OS (Mac) to browser, over Guacamole/XRDP to the remote-system (Debian with XFCE).
All these layers can interpret the key-events triggered.
Research
Like a user of this XRDP-related forum post from MacRumors (from 2015) explains:
As below link states, Alt key of PC keyboard should be mapped as Option key on OS X. This is what we see on ARD. On XRDP Alt key behaves like Windows key and is mapped to Command key.
See also:
RealVNC Help Center: Keyboard Mapping To and From a Mac
AskDifferent: Can't get Alt (Option) key to work while remote controlling a Mac from Windows with VNC, reverse direction, but might give a clue
AskUbuntu: Remote desktop to Ubuntu has wrong keyboard mapping
Griffon's IT Library blog: XRDP – How To Make your keyboard “special keys” (Alt+Gr, Up,Down,..) working when using XRDP

How can I use Windows-Key shortcuts inside a Windows RDP running on Mac OS?

I've recently swtiched from a Windows work PC to a Mac Book Pro. Most of my development work is done over an RDP connection to a Windows 2012 server.
When doing development work, I use IDE's and other tools that have custom keyboard shortcuts involving the Windows key. For instance, [win]+[backtick] is set to open a console. As long as I was connected to the RDP session in full-screen mode, the Windows key combinations were passed through to the RDP session and interperted correctly.
Howver, on my Mac Book Pro, I cannot trigger any of my custom Windows key shortcuts. What is weird, is that all of the built in Windows key shortcuts still work. For example. [win]+[e] opens Windows Explorer, and [win]+[d] still minimzes all windows to show the desktop. Also, pressing the Windows button by itself bring up the start menu, as normal. But none of the user assigned key combinations involving the Windows key work is any application (I've tried three apps). Custom key bindings involving the ctrl, alt, and shift keys work as expected.
Config
I'm running:
Mac Book Pro 2017
MacOS Mojave 10.14
Microsoft Remote Desktop Version 10.1
I have the "Use Mac shortcuts for cut, copy, and paste" option unchcked from within Remote Desktop Client preferences.
Based on a different question and answer, it looks like there are some configuration files in Applications --> Microsoft Remote Desktop --> Package Contents --> Contents --> Resources --> Keyboard. However, I'm not sure what I would add to map [Win]+[something].
Check this repo
Probably you can adjust this configuration file for your goals

Keep windows GUI while switching windows user or closing remote connection

I need to run a GUI script (AutoHotKey, which makes mouse clicks and press keys) on:
A different windows user (i.e. I run the script, then switch user
while keeping the session active)
A remote Amazon windows server (using remote desktop) where I also
run the script then close the Remote Desktop while keeping the
instance running
Unfortunately, in both cases, the script doesn't run as it seems that Windows enters a "GUI-less" mode where all GUI components are not active anymore.
Is there any solution to this?
Any hint would be greatly appreciated as I've now lost days trying to solve this!
Many thanks, Thomas
I do not believe this is possible due to the way Remote Desktop is implemented. When you close the RD connection, the GUI is no longer drawn. Therefore, AutoHotkey is unable to perform mouse clicks and key presses.
A possible workaround would be to make some registry tweaks (if possible on your server) which allow GUI interaction while minimized.
Locate HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
Create RemoteDesktop SuppressWhenMinimized as DWORD with a value of 2
Registry Tweak Source

Chrome Remote Desktop Keyboard Shortcut Needed

I'm using Chrome Remote Desktop on a Windows Desktop to access an Apple iMac. I cannot figure out how to invoke the Apple Command key function from my Windows keyboard. I would think that the Windows key would work but it doesn't. Is there a way to map the Windows key to the Apple Command key? I really want to be able to invoke copy and paste from the keyboard, which are Command-C and Command-V on the iMac, so I'm stuck because I don't have a "Command" key.
My solution to this problem is to leverage the handy "Configure Key Mapping" command provided by the latest version of Chrome Remote Desktop (v. 77.0 at the time of writing). The option is available in the sidebar as shown below.
Clicking the link opens the "Configure Key Mapping" dialog, from which you can create your own mapping. An important thing to note is that the keycodes supported by Chrome Remote Desktop are not the usual "ASCII" codes to which every developer is used to (I did this error myself the first time); rather, the codes should be taken from the "UI Events KeyboardEvent code Values" W3C standard. If you go through the standard you'll find the useful "List of code values for functional keys in the Alphanumeric section" table, which I also replicate below.
Concretely, let's say you want to map your local (Windows) Ctrl key to the remote (Mac) Cmd key. From the table above we see that the code for the (left) Ctrl key is "ControlLeft", while the code for the Cmd key is "MetaLeft", so from the "Configure Key Mappings" dialog:
click "New Mapping"
enter "ControlLeft" in the "from" field
enter "MetaLeft" in the "to" field
if needed, click [New Mapping] to enter more key mappings
the configuration should now look like in the image below. Click [Done] to close the dialog window.
At this point you should be able to use Ctrl-C, Ctrl-V etc. on your local PC to trigger the corresponding Cmd-C, Cmd-V etc. commands in the remote Mac. The solution works quite well for me and it resolves a perennial problem of how to use the Cmd button while on a Windows PC without having to rely on external apps or plugins.
I'm on a Windows 10 machine remoting into an El Capitan Mac (yes, it's an old OS, but it's a 2009 model that can't be upgraded any higher). If the other solutions don't work for you (they didn't for me), you can try adding Mac keyboard shortcuts in Keyboard settings. I use this mac as a home server and only use it via Chrome Remote Desktop, so I am not worried about messing up keyboard shortcuts when using the computer's keyboard directly.
Go to Settings > Keyboard > Shortcuts > App Shortcuts and add new shortcut mappings for Copy and Paste to the Ctrl key.
On Windows 10
Alt + Window + C
Alt + Window + V
On an Acer C7, the right control key maps to command. In fact, the Search key maps to command too, which is far more helpful, but available on fewer keyboards.
Well, it seems I can use the Windows Key to send the CMD Key straight away to the Mac machine. I have tried:
Windows + C: copy
Windows + V: paste
Windows + X: Cut
Windows + W: close window
Windows + Q: close application
All work nice!
However you can't use this:
Windows + Tab: switch between applications,
it is already used by Windows for the same function.
But you can still use "holding the mouse middle wheel and moving the mouse up" to see all open applications. It is a little bit painful, but does most jobs.
If things don't work - try map MetaRight to ControlLeft
I have windows keyboard connected to a mapbook. I had to swap the modifier keys: Command <-> Control.
The problem was that when connecting with the Chrome Remote Desktop to a Linux machine, the remapping MetaLeft to ControlLeft did not work. Turned out it's because the macbook remapped the left key to the MetaRight what whatever reason.
I have confirmed, using chrome remote desktop, that search+another_key does the same as CMD+another_key while remote-connected to my mac-book pro over home WiFi. I also noted that if I want to enter two search+another_key presses sequentially, I must release and repress the search key after each instance
You can map keybindings, just not that im on a mac remoting to a windows PC (with a windows keyboard) and I noticed that MetaRight is the windows key (as oppose to Meta left).
If you want to use e.g. WIN-key + C to represent Cmd + C on mac, other than "Configure key mappings" (WIN-key seems mean Cmd on mac by default?), you need to go to full-screen checkbox by the right-side's blue-sliding bar (F11 doesn't work for me).
Only in that full-screen mode, WIN-key + something is not occupied by the Windows OS.
Go Full-Screen first
In order to use all shortcut keys, you need to go full screen from the Windows PC that is accessing the Mac. This option can be found in the side menu on the right.
Then use the ⊞ Win key for all the ⌘ Cmd key shortcut keys on Mac

Check CapsLock over RDP connection

I tried two approaches to reading the state of a keyboard's CapsLock key.
The first: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.iskeylocked.aspx
And the second: k_bb2fe024f8a71424996db6d9af08c1fc_settingNewSkin_19">http://www.rohitab.com/discuss/topic/38617-get-the-state-of-capslock/page_k_bb2fe024f8a71424996db6d9af08c1fc_settingNewSkin_19
Now both of these approaches work on my local Windows machine. That is, they show the Keyboard's CapsLock state accurately.
Running the same programs on a computer that connects to windows remote desktop using rdp, the program doesn't work, and only shows the CapsLock key to be off.
Is there a special windows method I have to call when checking the CapsLock key over RDP?
Further investigation has shown that it's rdesktop, not RDP that's responsible for the CapsLock failure.

Resources