I have a desktop PC and a notebook, both sharing a mechanical RGB keyboard, RGB mouse, and “air mouse” (which I use as a media remote control). This post describes my setup.
USB Switch
I use this UGreen 2-in 4-out USB 2.0 sharing switch:
(images copyright respective manufacturers)
In has two USB ports that connect to the Desktop and macOS, and one software-controlled button to switch between the two hosts. There are four USB ports, to which I connect my 1st Player keyboard and mouse plus an “air mouse” (more on that below). There is a more expensive USB 3.0 model that is probably overkill for keyboard and mice.
- the button is not a physical switch, but is software controlled.- without USB power, it will not function and will default to Host 1 when powered.
- the switch will remain powered if either host is in sleep mode - this will drain your battery but will wake-from-sleep when you move the mouse or tap a key.
- although now, I seem to need to tap a keyboard key twice to wake from sleep.
- switching hosts is actually disconnecting (unplugging) the devices, so you will get OS notifications to that effect.
- and, if you switch inputs while the host is sleeping, the devices are disconnected from the host. Switching back will not power the devices (since the host is sleeping), and thus connected devices will no longer wake the host!
- if USB power is insufficient, there is a micro USB port intended for a wall-plug power adapter (not included) - not required for my setup.This was something I was not sure about either - in my case, a single USB 2.0 port on the host delivers sufficient power for a RGB keyboard, a RGB mouse and a wireless air mouse dongle.
- finally, unlike data center KVMs (keyboard-video-mouse), this switch does not support a keystroke to switch hosts.
Air Mouse
I initially wanted to setup my old Windows Media Center (MCE) remote, but I lost the infrared dongle, and a replacement was very expensive. Instead, I figured to look for a wireless “air mouse” which presents in Windows as a second keyboard and mouse.
I bought a brand-less MX3 air mouse with mini keyboard like this (Amazon link, no affiliation):
- It has 5 infrared (IrDA) programmable buttons (Power, R, G, Y, B) which I program to control my speakers. An alternative air mouse, the WeChip W1 2.4 GHz wireless air mouse, has fewer infrared remote buttons.
- The air mouse function works pretty well, I can use it with simple point and click games too.
- Uses 2x AAA batteries that are not included and comes with a tiny but very well written English manual - I didn’t expect good grammar and correct spelling!
- Each key is mapped to a fixed keyboard key and cannot be programmed differently.
- There are Bluetooth air mice, but since I have issue with Bluetooth disconnects, I went with the 2.4GHz dongle version instead. Besides, the Ugreen switch has 4 ports...
There are at least four other MX3 models apart from the most basic “standard” model I got - with microphone, with backlight, with backlight and microphone for voice-assistance, and a Bluetooth + microphone model.
Before buying the MX3, I really wanted to find this mapping for Windows but didn’t find it posted anywhere! So if this helps anyone:
- There is no Escape key!
- No Function keys either i.e. I miss F11 to go full screen.
- The Backspace and Back keys are different.
- The OK and Back functions change when in air mouse mode.
- Other key combinations are recorded here just in case I loose the manual...
MX3 Button | Windows Function | Key Code |
---|---|---|
Power | Not a keyboard key1 | - |
Rewind | Rewind 2 | ? |
Forward | Forward 2 | ? |
Previous | VK_MEDIA_NEXT_TRACK | 177 (0xB0) |
Next | VK_MEDIA_PREV_TRACK | 176 (0xB1) |
Search | VK_BROWSER_SEARCH | 170 (0xAA) |
Play / Pause | VK_MEDIA_PLAY_PAUSE | 179 (0xB3) |
Zoom In | Zoom In3 | - |
Zoom Out | Zoom Out3 | - |
Menu | VK_APPS | 93 (0x5D) |
Home | VK_BROWSER_HOME | 172 (0xAC) |
Back | Right mouse button4 or VK_BROWSER_BACK | 166 (0xA6) |
Left | VK_LEFT | 37 (0x25) |
Up | VK_UP | 38 (0x26) |
Right | VK_RIGHT | 39 (0x27) |
Down | VK_DOWN | 40 (0x28) |
OK | Left mouse button4 or VK_RETURN | 13 (0x0D) |
Vol + | VK_VOLUME_UP | 175 (0xAF) |
Vol - | VK_VOLUME_DOWN | 174 (0xAE) |
Page + | VK_PRIOR | 33 (0x21) |
Page - | VK_NEXT | 34 (0x22) |
Mute | VK_VOLUME_MUTE | 173 (0xAD) |
Media Player | VK_LAUNCH_MEDIA_SELECT | 181 (0xB5) |
Exclamation (Email) | VK_LAUNCH_MAIL/VK_LAUNCH_APP1 | 180 (0xB6) |
Application5 | VK_F2 | 113 (0x71) |
Browser (IE logo) | Does nothing | - |
Backspace6 | VK_BACK | 8 (0x08) |
Mouse | toggles air mouse mode4 | - |
TV+OK for 3 seconds | re-pair dongle | - |
TV+Del for 3 seconds | factory reset | - |
TV for 3-5 seconds | infrared programming7 | - |
Home+Vol + | faster mouse speed | - |
Home+Vol - | slower mouse speed | - |
I used NirSoft KeyboardStateVie and SharpKeys by Randy to check the key codes.
-
The manual says the Power button will Power Off or Sleep Windows, but this does not work for me. Instead it triggers the Infrared, perhaps because I programmed it that way, but this is better IMHO. ↩
-
The rewind/fast-forward keys make playback slower/faster in VLC, but KeyboardStateView does not tell me the key code. ↩ ↩
-
In air mouse mode, these are the left and right mouse buttons. ↩ ↩ ↩
-
No idea what this icon is supposed to be, it’s not explained the manual either. In the other models, this button and the Browser button activate the microphone and backlight respectively. ↩
-
This key has
DEL
printed on it, but it is actually backspace. Note this is also different from Back (VK_BROWSER_BACK). ↩ -
Hold TV button for 3-5 seconds, LED will flash quickly. Release, LED will flash slowly indicating ready to learn. Hold down a key on the original remote until the LED stays lit, meaning learning is successful. Press a key on the MX3 to assign. Repeat for next button. Finally, press TV button again to exit learning - which does not seem to work for me, but after a while the learning will time out anyway. ↩