Bug 389

Summary: В Far не вводятся русские буквы.
Product: WINE@Etersoft Reporter: Анатолий Лютин <vostok>
Component: ОбщееAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 297    
Bug Blocks: 412    
Attachments: патч

Description Анатолий Лютин 2006-11-15 15:53:23 MSK
При запуске Far  в wineconsole не вводятся русские буквы, приэтом элементы интерфейса Far и текстовый файлы,написанный на русском отображаются правильно (и в 8 битной и в Юникодной консоли). Возможно это связано с тем, что при  вводе символов far ждет char символ, а не Wchar.
Comment 1 Анатолий Лютин 2006-11-15 17:46:57 MSK
Проблема скорее всего в неправильной работе VkKeyScan. А на основе её генерируется таблица vkkeyscan_table. С помощью её заполняется поле ir[numEvent].Event.KeyEvent.wVirtualKeyCode и ir[numEvent].Event.KeyEvent.wVirtualScanCode, Если не использовать эту таблицу и принудительно заполнять первое поле числом 207 (найдено эмперически), то русские и английские символы работают, но с глюками!=(
Comment 2 Анатолий Лютин 2006-11-17 17:38:39 MSK
Проблема в функции SHORT X11DRV_VkKeyScanEx(WCHAR wChar, HKL hkl), которая вызывается из VkKeyScan. Вся беда в том,что для русских символов (и вообще для Wchar) X функция XStringToKeysym возвращает неверный результат (0) и из- за этого присваивается неверный скан код!=(
Задача: Найти функцию,которая бы получала правильный KeySym для Wchar.
Comment 3 Анатолий Лютин 2006-11-22 12:10:12 MSK
Стоит посмотреть xutf8.cxx. Там есть обратная функция.

Результаты которых добились:
функция X11DRV_VkKeyScanEx возращает один и тот же Keycode. что для русской я, что и для английской z, что вообщем-то и требовалось. Но теперь в Far,вместо ожидаемых результатов, русские буквы выводятся пробелами в uxterm-е. и в обычном терминале.
Comment 4 Анатолий Лютин 2006-11-24 17:37:12 MSK
Created attachment 78 [details]
патч
Comment 5 Анатолий Лютин 2006-11-24 17:38:04 MSK
Created attachment 79 [details]
патч
Comment 6 Анатолий Лютин 2006-11-24 17:39:17 MSK
Created attachment 80 [details]
исправляет багу

Реализует функцию ucs2keysym.
Comment 7 Анатолий Лютин 2006-11-24 17:42:39 MSK
Добиль того чтобы русские символы отображались в Far как в 8-битной,так и в uxterm. работаю корректно хот кеи и все сис.клавиши. esc тоже работает,но с задержкой(ничего не поменялось). Т.к. добились русских букв в far багу закрываю.
!Патчи не прошли пока утверждение в wineHq! 
Comment 8 Анатолий Лютин 2006-12-15 12:22:34 MSK
Created attachment 79 [details]
патч

Доделан Виталием.
Теперь мы проверяем какая библиотека есть на машине: ncureses или ncursesw и в зависимости от этого либо получаем кириллицу в uxterm-е или нет.
Comment 9 Vitaly Lipatov 2007-01-20 19:22:11 MSK
Необходимые патчи приложены в W@E 1.0.5