This refers to 3 lines removed during an XFree86 merge. The change was done here: http://cgit.freedesktop.org/xorg/lib/libX11/diff/src/xkb/XKBBind.c?id=c6349f43193b74a3c09945f3093a871b0157ba47 These are the three lines that need to be re-added to XKBind.c in XkbTranslateKeySym: if (_XkbUnavailable(dpy)) return _XTranslateKeySym(dpy, *sym_rtrn, mods, buffer, nbytes); _XkbCheckPendingRefresh(dpy,dpy->xkb_info); Before running the testcase, make sure that a Russian font is installed on your X Server and the Caps Lock KeySym is set up as follows: CapsLock: Unshifted=Mode_switch, Shifted=NoSymbol, Mode Switch=NoSymbol, Shift Mode Switch=NoSymbol To run foo (it is attached): 1) Set up the Russian font on the X Server as explained in the above paragraph. 2) Run foo - you will see Cyrillic characters at start. Hitting shift will show large Cyrillic characters. 3) Hit CapsLock - you will see large English characters when small English characters should be there. This works on Solaris. Basically, a CapsLock KeySym set to Unshifted=Mode_switch should default to a lower case character. All characters are upper at present.
Created attachment 21992 [details] Test program that displays the Russian CapsLock KeySym problem
Can you please send a patch to xorg-devel for review?
Mass closure: This bug has been untouched for more than six years, and is not obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.