On Mac OS X, the Russian keyboard layout is apparently implemented as, or requires, input methods. Since our current approach is to let input method handling be done on the server side, we are disabling input methods in vncviewer. When this happens, the keyboard layout changes to someelse else(!) The same effect can also be seen in Firefox or Safari, when switching to a password input field. This is somewhat surprising. I've verified this on both 10.4 and 10.9, so this is not something new. Note however that 10.4 has a more advanced control panel UI, which describes layout type. The Swedish layout is described as "Keyboard/Roman", while the Russian layout is "Keyboard/Cyrillic". Katakana is a subtype of "Kotoeri", of type "Input method/Japanese". My conclusion is that the problem is not that the Russian layout requires "Input methods", but rather that it is of a non-Roman type.
Apparently, non-latin passwords are not allowed on Mac OS X. Other person with same problem: https://discussions.apple.com/thread/2679736?tstart=0
It turns out that this is a problem for other layouts as well, for example Greek. The Greek alphabet is a parent for the Latin/Roman alphabet, so it is perhaps not a surprise that a Greek layout is not accepted on OS X, since we are apparently restricting ourselves to Roman layouts.
Apple has apparently decided to hide the internal details of keyboard handling. Fortunately the internet never forgets: https://web.archive.org/web/20140604054226/https://developer.apple.com/library/Mac/documentation/TextFonts/Reference/TextInputSourcesReference/Reference/reference.html
Created attachment 906 [details] patch for FLTK I was looking at the macOS keyboard input for an upstream issue, and I think I stumbled upon a way to solve this. The attached patch seems to disable the stuff we don't want, and keep the things we do. Instead of filtering out only "ASCII" input sources, we instead we focus on those that claim to be of the basic "Layout" type. This should exclude various forms of input methods. Needs more testing, but it seems promising. (this method also seems to match the system settings, which refuses to let you remove the last "normal" input source)
(In reply to Pierre Ossman from comment #5) > (this method also seems to match the system settings, which refuses to let > you remove the last "normal" input source) This seems to have changed. I couldn't configure macOS 12 to only have Russian layout.
Upstream reports: https://github.com/TigerVNC/tigervnc/issues/1396 https://github.com/fltk/fltk/issues/325
This is fixed in upstream FLTK: https://github.com/fltk/fltk/commit/93a55f64c35280d68af59585797f8f89a7aba0fb#diff-9536cbcef065a3efae4b19183df647aae453a016c3de983e0c4fc66e962e5b4dL1490