I'm running NVDA inside a virtual machine on my macOS using VMware Fusion. I do that since many years, and it's generally a very smooth experience, except that I need to map a keyboard key to Insert. I use Karabiner-Elements to do just that: it maps my right option key to Insert. This runs just fine, but it is quite a complex installation/configuration, and when asking clients to do the same, they are quickly overwhelmed. (Sadly, while VMware Fusion offers a feature to map certain keyboard combos to different ones, it does not allow to just change a single key's [ie. right option to insert] mapping.)
So I tried to go the route of activating the NVDA option to use caps lock as modifier key, too. But this just does not seem to work - or do I do something wrong?
- Would I need to keep holding
caps lockwhile hitting (for instance)N(to show the NVDA menus) - Or would pressing and releasing
caps locktrigger some special "I am on Insert now" mode, so I could just hit another key likeN? And then press and releasecaps lockagain to deactivate the "special mode" again?
Neither option works for me. What I can say though is that the "real" caps lock functionality does not get activated anymore with the option checked, unless I hit it twice in a row quickly. So it at least seems to have some effect...
Am I doing something wrong? Any help is highly appreciated.


You're not doing anything wrong. Unfortunately, I don't think there's a simpler solution than the one you described.
A couple of things are happening here:
VMWare Fusion doesn't send the caps lock key to the host
Via this article:
I'm experiencing the same behavior with Remote Desktop on macOS.
NVDA doesn't offer Mac-friendly modifier keys
The only available modifier keys are Insert (not available on most Mac keyboards) and Caps Lock (not sent to VMs).
This issue is tracked as a bug in NVDA but hasn't been prioritized. Via this comment:
Workaround
For folks who are looking for details on the Karabiner setup described in the question, check out How to map your Mac's CapsLock key to a NVDA or JAWS key in a Windows virtual machine.