alrusdi81
Цитата:
Готов помочь, в смысле рассказать что происходит, т.к. под ГТК реализовать возможности нет.
Эти функции используются для получения нажатого символа.
В стандартный обработчик OnKey вообще символ не приходит, приходит код нажатой клавиши (легбез, на клавиатуре 101 клавиша еще легбез - по поводу преобразований русских букв в латинские, как я понял вопрос - если нажата клавиша G, то не обязательно вводимый символ будет G может быть GgПп это на моих раскладках), соответственно совсем и абсолютно не ясно что же за символ вводит пользователь, в винде для этого есть функция ToAscii. Нужно проследить как в ГТК достается символ и тоже выкорчевать, ведь в OnChar он символ подает а не код клавиши, значит достать его реально, просто я не знаю как это в линуксе.
Ну и повторяю:
Цитата:
Тогда наши скрипты которые завязаны на функцию OnKey просто работать не будут
Добавлено:
Вот что выдал гугл по этому поводу:
http://mail.gnome.org/archives/gtk-app-devel-list/2003-December/msg00352.html
http://svn.openi18n.org:8081/repos/im-sdk/trunk/program/iiim-properties/src/iiim-properties-hkc.c
http://library.gnome.org/devel/gdk/unstable/gdk-Keyboard-Handling.html#gdk-keyval-to-unicode
Посмотрел из чего состоит GdkEventKey и пришла в голову такая мысль:
А может искомое значение тупо содержится в event->string и парится не надо... Если length > 1 то 0 передавать.
Цитата:
В лоб сделать точно так же как в версии для Windows не получится.
Так как используются функции WindowsAPI, которые в Linux не доступны:
::MapVirtualKeyA
::GetKeyboardState
::ToAscii
Что делает это усовершенствование? Попробуем его реализовать под Linux.
Готов помочь, в смысле рассказать что происходит, т.к. под ГТК реализовать возможности нет.
Эти функции используются для получения нажатого символа.
В стандартный обработчик OnKey вообще символ не приходит, приходит код нажатой клавиши (легбез, на клавиатуре 101 клавиша еще легбез - по поводу преобразований русских букв в латинские, как я понял вопрос - если нажата клавиша G, то не обязательно вводимый символ будет G может быть GgПп это на моих раскладках), соответственно совсем и абсолютно не ясно что же за символ вводит пользователь, в винде для этого есть функция ToAscii. Нужно проследить как в ГТК достается символ и тоже выкорчевать, ведь в OnChar он символ подает а не код клавиши, значит достать его реально, просто я не знаю как это в линуксе.
Ну и повторяю:
Цитата:
Если ничего не сможешь сделать, а скомпилеть очень надо, то сделай так:
extender->OnKey(event->keyval, cmodifiers, 0)
Тогда наши скрипты которые завязаны на функцию OnKey просто работать не будут
Добавлено:
Вот что выдал гугл по этому поводу:
http://mail.gnome.org/archives/gtk-app-devel-list/2003-December/msg00352.html
http://svn.openi18n.org:8081/repos/im-sdk/trunk/program/iiim-properties/src/iiim-properties-hkc.c
http://library.gnome.org/devel/gdk/unstable/gdk-Keyboard-Handling.html#gdk-keyval-to-unicode
Посмотрел из чего состоит GdkEventKey и пришла в голову такая мысль:
А может искомое значение тупо содержится в event->string и парится не надо... Если length > 1 то 0 передавать.