Hello, I’ve been a NoMachine user for many years now, and have absolutely loved it. However, the biggest thorn on its side for me has been it’s inability to simply support keyboard remappings. Up until now, I thought I was missing something in my own systems, but it finally drove me to do a deep dive and think there’s something odd with how NoMachine is handling the Caps Lock.
Some background, I primarily use NoMachine to access a Windows VM from within my local network from only Arch Linux machines. But in trying to root cause this problem, I created and have confirmed the problem persists with an Ubuntu VM, which I’ll be talking about from now on.
The basic problem is that while I can successfully remap the keyboards on both the client (Arch Linux laptop+desktop) and the server (Ubuntu VM), the behavior of the CapsLock key appears strange.
Using xev
within the server, when pressing “Ctrl-a”, the button actions all occur as expected:
- CtrlL is pressed
- ‘a’ is pressed
- ‘a’ is released
- CtrlL is released
However, when I repeat this same action with a remaped CapsLock key, the following sequence occurs:
- ‘Remapped’ CtrlL is pressed
- ‘Remapped’ CtrlL is released
- ‘a’ is pressed
- ‘a’ is released
As soon as ‘a’ is pressed, a released event is created for the ‘Remapped’ CtrlL. I’m not 100% sure this issue is with the server or client, or elsewhere in the system, but I think I’ve done everything I can to isolate it to NoMachine. I’ve even tried different keyboards to test and all OSs and software is up to date.
Any ideas or next steps would be greatly appreciated. I could even create some exact steps to reproduce the problem. I suspect (but have not yet tested) that this problem would persist if it was configured to be an Ubuntu VM remoting into another Ubuntu VM.