Bug 398

Summary: Не вводятся русские символы в Ubuntu
Product: WINE@Etersoft Reporter: Константин Кондратюк <kondratyuk>
Component: ОбщееAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED INVALID QA Contact:
Severity: normal    
Priority: P2 CC: lav
Version: 1.0.5   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
URL: http://bugs.winehq.org/show_bug.cgi?id=3504
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 78, 190, 661    

Description Константин Кондратюк 2006-11-20 13:05:51 MSK
Не вводятся русские символы в Windows приложениях под WINE@Etersoft 
1.0.4 Local. Латиница печатается нормально, при переходе на русскую раскладку 
клавиатуры - ничего не происходит: курсор не двигается, никакие символы не 
печатаются.

Ошибка проявляется под KUbuntu 6.10

Описание этой ошибки в багзилле winehq:
http://bugs.winehq.org/show_bug.cgi?id=3504
Comment 1 Константин Кондратюк 2006-12-17 21:22:51 MSK
Нужно проверить для 1.0.5. Возможно, проблемы нет.
Comment 2 Константин Кондратюк 2006-12-19 20:59:47 MSK
Проблема осталась в 1.0.5.
При вводе русских символов в консоль валятся такие ошибки (буквы "а" и "б"):

err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym 06C1 (Cyrillic_a) :
err:keyboard:X11DRV_ToUnicodeEx (virtKey=46,scanCode=21,keycode=29,state=2000)
err:keyboard:X11DRV_ToUnicodeEx Please report: no char for keysym 06C2 (Cyrillic_be) :
err:keyboard:X11DRV_ToUnicodeEx (virtKey=BC,scanCode=33,keycode=3B,state=2000)

При проверке получаемых событий в xev получаем (при вводе "а"):

KeyRelease event, serial 25, synthetic NO, window 0x2400001,
    root 0x48, subw 0x0, time 2625473301, (967,648), root:(972,721),
    state 0x2000, keycode 41 (keysym 0x6c1, Cyrillic_a), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

т.е. функция XLookupString не возвращает нужного значения (на сервере всё нормально возвращается)
Comment 3 Константин Кондратюк 2006-12-19 21:03:37 MSK
Была жалоба на то, что русский текст вводится тильдами (~). Вроде как помогла смена раскладки со стандартной 105-кл PC на другую.
У нас такой метод ни к чеиу не приводит.
Comment 4 Константин Кондратюк 2007-01-09 20:28:11 MSK
Функции XLookupString и XmbLookupString неправильно работают в Ubuntu. Нужно попробовать реализовать ввод через XwcLookupString. Тогда, возможно, решится проблема ввода, а заодно и избавимся от лишних перекодирований и упростим код.
Comment 5 Константин Кондратюк 2007-01-10 16:56:59 MSK
Проблема с вводом русских символов оказалась проблемой иксов Ubuntu. В локали utf8 ввод пока невозможен. Зато, если установить локаль ru_RU.KOI8-R, то ввод нормально работает. С utf8 локалью пока неясно, что делать. Скорее всего, ждать, пока исправят в Ubuntu.
Comment 6 Vitaly Lipatov 2007-01-10 18:22:24 MSK
Бага не имеет отношения к wine, проявляется также и на mono
http://bugzilla.ximian.com/show_bug.cgi?id=78944
и связана с тем, что XOpenIM не работает, в частности в локали
ru_RU.UTF8 (а в ru_RU.KOI8-R работает)
Comment 7 Константин Кондратюк 2007-01-11 17:10:15 MSK
Ошибка в /usr/share/X11/locale/locale.dir
При замене строк
ru_RU.UTF-8/XLC_LOCALE                  ru_RU.UTF-8
ru_UA.UTF-8/XLC_LOCALE                  ru_UA.UTF-8
на
en_US.UTF-8/XLC_LOCALE                  ru_RU.UTF-8
en_US.UTF-8/XLC_LOCALE                  ru_UA.UTF-8

решается проблема для юникодной локали.

Эта бага в багзилле Ubuntu:
https://bugs.launchpad.net/ubuntu/+source/wine/+bug/68594
Comment 8 Vitaly Lipatov 2007-01-16 22:56:14 MSK
Нам тут пока делать нечего
Comment 9 Vitaly Lipatov 2007-02-08 16:22:21 MSK
Также можно каталог
/usr/share/X11/locale/en_US.UTF-8
скопировать под именем
/usr/share/X11/locale/ru_RU.UTF-8
                       
Comment 10 Vitaly Lipatov 2009-03-06 15:10:53 MSK
Дополнительным симптомом является то, что ввод через xterm русских букв так же не работает.