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
Проблема скорее всего в неправильной работе VkKeyScan. А на основе её генерируется таблица vkkeyscan_table. С помощью её заполняется поле ir[numEvent].Event.KeyEvent.wVirtualKeyCode и ir[numEvent].Event.KeyEvent.wVirtualScanCode, Если не использовать эту таблицу и принудительно заполнять первое поле числом 207 (найдено эмперически), то русские и английские символы работают, но с глюками!=( Проблема в функции SHORT X11DRV_VkKeyScanEx(WCHAR wChar, HKL hkl), которая вызывается из VkKeyScan. Вся беда в том,что для русских символов (и вообще для Wchar) X функция XStringToKeysym возвращает неверный результат (0) и из- за этого присваивается неверный скан код!=( Задача: Найти функцию,которая бы получала правильный KeySym для Wchar. Стоит посмотреть xutf8.cxx. Там есть обратная функция. Результаты которых добились: функция X11DRV_VkKeyScanEx возращает один и тот же Keycode. что для русской я, что и для английской z, что вообщем-то и требовалось. Но теперь в Far,вместо ожидаемых результатов, русские буквы выводятся пробелами в uxterm-е. и в обычном терминале. Created attachment 78 [details]
патч
Created attachment 79 [details]
патч
Created attachment 80 [details]
исправляет багу
Реализует функцию ucs2keysym.
Добиль того чтобы русские символы отображались в Far как в 8-битной,так и в uxterm. работаю корректно хот кеи и все сис.клавиши. esc тоже работает,но с задержкой(ничего не поменялось). Т.к. добились русских букв в far багу закрываю. !Патчи не прошли пока утверждение в wineHq! Created attachment 79 [details]
патч
Доделан Виталием.
Теперь мы проверяем какая библиотека есть на машине: ncureses или ncursesw и в зависимости от этого либо получаем кириллицу в uxterm-е или нет.
Необходимые патчи приложены в W@E 1.0.5 |