How can I get Caps_Lock to work between my VNC viewer and x11vnc?
This is a little tricky because it is possible to get the Caps_Lock state out of sync between your viewer-side machine and the x11vnc-side X server. For best results, we recommend not ever letting the Caps_Lock keypresses be processed by x11vnc. That way when you press Caps_Lock in the viewer your local machine goes into the Caps_Lock on state and sends keysym “A” say when you press “a”. x11vnc will then fake things up so that Shift is held down to generate “A”. The -skip_lockkeys option should help to accomplish this. For finer grain control use something like: “-remap Caps_Lock-None”. Also try the -nomodtweak and -capslock options. Another useful option that turns off any Lock keys on the remote side at startup and end is the -clear_all option. During a session you can run these remote control commands to modify the Lock keys: x11vnc -R clear_locks x11vnc -R clear_all the former will try to unset any Lock keys, the latter will do same and also try to make it so no key is pressed down