Bug 19572 (jjudge)

Summary: X11 library: problem with KeySym translation for Russian font that uses Mode_Switch
Product: xorg Reporter: jjudge <jjudge>
Component: Lib/XlibAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: brad.moore, jim.conway
Version: 6.8.0Keywords: i18n, patch, regression
Hardware: All   
OS: All   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:
Attachments:
Description Flags
Test program that displays the Russian CapsLock KeySym problem none

Description jjudge 2009-01-14 14:52:37 UTC
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.
Comment 1 jjudge 2009-01-14 14:53:27 UTC
Created attachment 21992 [details]
Test program that displays the Russian CapsLock KeySym problem
Comment 2 Jeremy Huddleston Sequoia 2011-10-03 21:06:07 UTC
Can you please send a patch to xorg-devel for review?
Comment 3 Adam Jackson 2018-06-12 19:08:26 UTC
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.