Дайте пожалуйста внятное описание этого процесса. С этими XIM-ами и XIC-иками уже голова пухнет. Вообще Xserverr возвращает какие то странные коды для русских букв. Что то в районе 1700..., причём, судя по всему, их взаимное насположение очень похоже на KOI8R, т.е. они идут А, Б, Ц, Д, .... В правильном юникоде русские буквы в районе 1100 находятся (правда относительное расположение я не смотрел, но уверен, что по алфавиту). Локаль стоит ru_RU.UTF8 (впрочем пробовал другие, результат один). Собственно что за чудная кодировка, в которой шлёт коды XServer и как его заставить слать юникод? Вообще хочу, чтобы он сам обрабатывал все свои раскладки и прочий бред, и просто слал мне юникод (UCS-4 например). Без всяких премудростей. Это можно как то сделать? Можно даже без поддержки японских ракладок :) Хотя лучше с ними. Вот примерный код, которым пытаюсь принимать сообщения. Он всегда даёт 1700 с копейками. 1100 никак не получается :) case KeyPress: { if (m_ic == 0) { m_ic = XCreateIC(im, XNInputStyle, XIMPreeditNothing + XIMStatusNothing, XNClientWindow, m_window, 0); if (m_ic == NULL) { LOG_ERROR << "XCreateIC() failed"; abort(); } } if (XFilterEvent(&event, m_window) == True) break; wchar_t buffer[64]; KeySym key; XwcLookupString(m_ic, &event.xkey, buffer, sizeof(buffer), &key, &st LOG_INFO << PARAM(key) << PARAM((unsigned int)buffer[0]) << PARAM((unsigned int)buffer[1]) << PARAM((unsigned int)buffer[2]) << PARAM((unsigned int)buffer[3]) << PARAM((unsigned int)buffer[4]) << PARAM((unsigned int)buffer[5]) << PARAM((unsigned int)buffer[6]) << PARAM((unsigned int)buffer[6]); if (status != XLookupKeySym && status != XLookupBoth) { LOG_INFO << "Status not ok"; break; } onKeyDown(key); ... в начале // setlocale(LC_ALL, ""); im = XOpenIM(display, 0, 0, 0); if (im == 0) { LOG_ERROR << "Couldn't open input method"; return 1; } Примерно так. Вроде ничего не фэйлится. Вообще где можно доки по этому XIM-у нормальные найти? В нете только маны ищутся. Вообще если есть какой нибудь исходник, где на чистом Xlib-е корректно обрабатывается русский ввод (а если там ещё и рисуется через libfreetype, то вообще сказка), буду ОЧЕНЬ благодарен. Блин, с горя щас буду в Qt копаться :)


Ответ на:
комментарий
от bugmaker


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Как в XLib Вывести русские буквы ( в окне ) (2006)
- Форум Xlib etc. (2003)
- Форум Помощь в gluLookAt (2013)
- Форум [XIM]Ввод русских символов транслитом. (2010)
- Форум Самопроизвольный ввод текста (2024)
- Форум FF3 ввод текста (2008)
- Форум QT+ввод текста (2004)
- Форум XCreateIC(XIM im,...) (2002)
- Форум Тормоза при вводе текста (2015)
- Форум Неполадки с вводом текста. (2011)