http://bugs.winehq.org/show_bug.cgi?id=15860
Summary: sr_RS locale, can't type Serbian Cyrillic [ToUnicodeEx no char for keysym 06C1 (Cyrillic_a)] Product: Wine Version: 1.1.7 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv AssignedTo: wine-bugs@winehq.org ReportedBy: grakic@devbase.net
Created an attachment (id=16996) --> (http://bugs.winehq.org/attachment.cgi?id=16996) keyboard log
I can not type in Wine applications using Serbian Cyrillic layout (setxkbmap rs).
I'm using fresh wine installation from "http://wine.budgetdedicated.com/apt hardy" on Ubuntu 8.04 with sr_RS locale.
When I enabled keyboard logging with:
LANG=sr_RS.UTF-8 && WINEDEBUG="keyboard" \ wine .wine/drive_c/windows/notepad.exe 2> out.log
I get this snippet typing Cyrillic A with rs XKB layout enabled:
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 4000 trace:keyboard:X11DRV_ToUnicodeEx Found keycode 38 (0x26) trace:keyboard:KEYBOARD_MapDeadKeysym no character for dead keysym 0x000006c1 warn:keyboard:X11DRV_ToUnicodeEx no char for keysym 06C1 (Cyrillic_a) : warn:keyboard:X11DRV_ToUnicodeEx virtKey=41, scanCode=1E, keycode=26, state=4000
$ locale LANG=sr_RS.UTF-8 LC_CTYPE="sr_RS.UTF-8" LC_NUMERIC="sr_RS.UTF-8" LC_TIME="sr_RS.UTF-8" LC_COLLATE="sr_RS.UTF-8" LC_MONETARY="sr_RS.UTF-8" LC_MESSAGES="sr_RS.UTF-8" LC_PAPER="sr_RS.UTF-8" LC_NAME="sr_RS.UTF-8" LC_ADDRESS="sr_RS.UTF-8" LC_TELEPHONE="sr_RS.UTF-8" LC_MEASUREMENT="sr_RS.UTF-8" LC_IDENTIFICATION="sr_RS.UTF-8" LC_ALL=
Is Wine missing rs keyboard layout?
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #1 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-31 03:21:17 --- sr_RS is not a valid locale, please try sr_SP.UTF-8.
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #2 from Goran Rakic grakic@devbase.net 2008-10-31 07:20:52 --- Actually sr_SP is not a valid locale (SP country code does not exists). sr_RS is present in glibc since July 2007.
http://sourceware.org/bugzilla/show_bug.cgi?id=3322#c10
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #3 from Goran Rakic grakic@devbase.net 2008-10-31 07:26:05 --- And running:
goran@limun:~$ LC_ALL=sr_SP.UTF-u wine notepad.exe goran@limun:~$ LANG=sr_SP.UTF-u wine notepad.exe
Does not make any difference. I don't even have sr_SP locale installed:
goran@limun:~$ locale -a C en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZW.utf8 POSIX sr_RS sr_RS@latin
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #4 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-31 07:36:55 --- (In reply to comment #2)
Actually sr_SP is not a valid locale (SP country code does not exists). sr_RS is present in glibc since July 2007. http://sourceware.org/bugzilla/show_bug.cgi?id=3322#c10
Windows (at least my XP SP3) doesn't have the sr_RS, it does have sr_SP instead, and Wine follows that.
And running:
goran@limun:~$ LC_ALL=sr_SP.UTF-u wine notepad.exe goran@limun:~$ LANG=sr_SP.UTF-u wine notepad.exe
UTF-u is not a valid locale suffix, UTF-8 is. Besides there is no sr_RS.UTF-8 locale in your list, you have only sr_RS and sr_RS@latin, try sr_RS.
Does not make any difference. I don't even have sr_SP locale installed:
sr_SP.UTF-8 locale should be probably generated then.
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #5 from Goran Rakic grakic@devbase.net 2008-10-31 07:40:02 --- UTF-u is just a typo here, sorry. It does not work, and I don't have sr_SP.
sr_RS is legitimate locale, and one that is preferred for Serbian Cyrillic. sr_RS.UTF-8 is defined in locales.alias file.
goran@limun:~$ date пет, 31. окт 2008. 13:39:25 CET
What can I do to help wine works?
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #6 from Goran Rakic grakic@devbase.net 2008-10-31 07:47:59 --- Should WINE work if I have rs XKB layout and en_US.UTF-8 locale? I think it should, but command
LANG=en_US.UTF-8 wine notepad.exe
disagrees with me ;)
Maybe the issue is related to XKB layout, and not to locale settings. What do you think?
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #7 from Goran Rakic grakic@devbase.net 2008-10-31 07:53:36 --- I tried to run "LANG=en_US.UTF-8 wine notepad.exe" and then type "setxkbmap ru" in another terminal window.
I can type numbers and dashes, but no other characters (which I can type in other GNU/Linux apps) are shown on a screen. With "setxkbmap us" I can type all the characters.
What is broken with my WINE/XKB configuration?
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #8 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-31 08:12:36 --- (In reply to comment #7)
I tried to run "LANG=en_US.UTF-8 wine notepad.exe" and then type "setxkbmap ru" in another terminal window. I can type numbers and dashes, but no other characters (which I can type in other GNU/Linux apps) are shown on a screen. With "setxkbmap us" I can type all the characters. What is broken with my WINE/XKB configuration?
Please generate a log with +x11drv,+key,+keyboard,+event with wine notepad and attach it to the bug. Make sure to use serbian locale and keyboard layout in linux before generating the log, press a couple of keys, and exit.
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #9 from Goran Rakic grakic@devbase.net 2008-10-31 08:35:10 --- Created an attachment (id=17006) --> (http://bugs.winehq.org/attachment.cgi?id=17006) WINEDEBUG="+x11drv,+key,+keyboard,+event" wine notepad.exe 2> 15860.log
$ setxkbmap -print xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+rs+group(lwin_toggle)" }; xkb_geometry { include "pc(pc105)" }; };
$ locale LANG=sr_RS.UTF-8 LC_CTYPE="sr_RS.UTF-8" LC_NUMERIC="sr_RS.UTF-8" LC_TIME="sr_RS.UTF-8" LC_COLLATE="sr_RS.UTF-8" LC_MONETARY="sr_RS.UTF-8" LC_MESSAGES="sr_RS.UTF-8" LC_PAPER="sr_RS.UTF-8" LC_NAME="sr_RS.UTF-8" LC_ADDRESS="sr_RS.UTF-8" LC_TELEPHONE="sr_RS.UTF-8" LC_MEASUREMENT="sr_RS.UTF-8" LC_IDENTIFICATION="sr_RS.UTF-8" LC_ALL=
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #10 from Dmitry Timoshkov dmitry@codeweavers.com 2008-10-31 12:31:03 ---
From the log:
warn:x11drv:X11DRV_InitXIM X does not support locale. ... trace:event:call_event_handler KeyPress for hwnd/window 0x10028/3e00005 trace:key:X11DRV_KeyEvent type 2, window 3e00005, state 0x0000, keycode 0x0026 trace:key:X11DRV_KeyEvent nbyte = 0, status 0x0 trace:key:X11DRV_KeyEvent KeyPress : keysym=6C1 (Cyrillic_a), # of chars=0 / ""
Your X11 setup is broken. Run 'xev' for testing.
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #11 from Goran Rakic grakic@devbase.net 2008-10-31 19:21:56 --- Thanks Dmitry!
I fixed my locale.dir/locale.alias in X11 and now when I type in notepad window something is typed but only spaces are shown. I can select those spaces and paste them as text to xterm window. Am I missing fonts now?
xev output is ok now: KeyRelease event, serial 30, synthetic NO, window 0x3200001, root 0x71, subw 0x0, time 1056600086, (519,396), root:(523,441), state 0x4000, keycode 38 (keysym 0x6c1, Cyrillic_a), same_screen YES, XLookupString gives 2 bytes: (d0 b0) "а" XFilterEvent returns: False
I will attach log file again.
http://bugs.winehq.org/show_bug.cgi?id=15860
Goran Rakic grakic@devbase.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #17006|0 |1 is obsolete| |
--- Comment #12 from Goran Rakic grakic@devbase.net 2008-10-31 19:22:55 --- Created an attachment (id=17015) --> (http://bugs.winehq.org/attachment.cgi?id=17015) WINEDEBUG="+x11drv,+key,+keyboard,+event" wine notepad.exe 2> 15860.log
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #13 from Dmitry Timoshkov dmitry@codeweavers.com 2008-11-01 01:28:03 --- The log shows that everything works correctly now. Try to select Tahoma or MS Sans Serif fonts, these are builtin Wine fonts and have cyrillic glyphs.
http://bugs.winehq.org/show_bug.cgi?id=15860
--- Comment #14 from Goran Rakic grakic@devbase.net 2008-11-02 00:07:06 --- Yes, everything is OK in notepad now.
To someone who may find this page looking for the solution, the problem was in wrong locale.dir/locale.alias file so no locale (even en_US.UTF-8) could be selected and wine was using C as fallback locale everytime. With C locale, you can not type non-ascii in wine applications.
It does not matter what "locale -a" is showing, locale.dir/locale.alias are for Xlib displaying/XKB composing. For testing one can use xev/xterm. Gnome/KDE apps have some magic inside and work even when Xlib locales are broken.
Thanks again. Please close as NOTABUG or appropriate.
Now I have to find why typing Cyrillic in Word 2002 inside CrossOver gives me all question marks (Serbian latin chars like "č" or "ć" works and I can display cyrillic documents correctly. Typing in notepad inside CrossOver also works as expected). But that's a question for CrossOver support...
http://bugs.winehq.org/show_bug.cgi?id=15860
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Component|winex11.drv |-unknown Resolution| |INVALID
--- Comment #15 from Dmitry Timoshkov dmitry@codeweavers.com 2008-11-02 02:32:18 --- Marking as invalid, since this is not a Wine bug in the first place.
http://bugs.winehq.org/show_bug.cgi?id=15860
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Dmitry Timoshkov dmitry@codeweavers.com 2008-11-02 02:32:28 --- Closing.