MacOS Client & Keyboards

When connecting a mouse & keyboard using a VirtualHere (VH) server, with a MacOS client, the MacBook doesn't appear to recognize VH connected keyboards the same way as-if they were physically attached.

In particular:
1) In "System Preferences", under "Keyboard". Physically plugging a USB keyboard into a client results in the "Change Keyboard Type" button appearing, wheres a VH-connected keyboard does not activate this option.

2) When using a VH-connected keyboard, any attempts to change the modifier keys results in also changing the laptop's built-in keyboard modifier keys. While modifier key changes to an external keyboard physically plugged into the client will only change that external keyboard's behavior.

This is problematic largely because many external keyboards need the windows and alt keys swapped, in order to facilitate a keystroke pattern which matches the Mac's built-in keyboard; most keyboards place "Alt" directly alongside the space bar (with the "Windows Key" being one more key away), while an Apple-branded keyboard has "Command" directly alongside the space bar (with "Alt" being one more key away).

Is there any way to either swap these keys using VirtualHere's device quirks function, and/or to ensure that the Mac recognizes a VH-connected keyboard sufficiently enough to assign keyboard-specific modifiers?

Before VirtualHere, my normal connection strategy was to connect the keyboard through a a variety of different hubs (depending upon which office/desk I landed at).

Whether direct-connect or through a hub, the keyboard modifier keys work as expected.


I found an old HP Desktop USB keyboard that I plugged into my pi and used it via the virtualhere server connected to an OSX client. I see the keyboard type doesnt appear and i think i know the reason. My guess is that I emulate a USB EHCI host controller and osx is expecting the keyboard to be attached to a UHCI host controller (the 1.1 version) which it would be if was to be directly attached. Hence it doesnt find it, the full functionality is still there in the keyboard but osx wont provide the extra buttons in System Preferences. So you would have to work around this with an app or something.