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.