HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: Fn+Shift жестко в libcyrinput запрограммированы?

[Ответить]
psionrevo [18.04.2007 19:42] Fn+Shift жестко в libcyrinput запрограммированы?:
потому что кто в cacko испускает nextKbdLayout()
по Fn+shift
в libkbdapplet
так и не нашел =(
точно не keyhelper

попробую перекомпилить libcyrinput
в нем в KeyboardFilter сделаю левую нижнюю как Control
и русификатор на одиночную клавишу повешу
посмотрим, что получится

вообще, мешанина какая-то:
keyhelper
cyrinput
appskey

и все над клавой измываются =)))
maslovsky [20.04.2007 19:54] :
Да
maslovsky [20.04.2007 19:56] Re: Fn+Shift жестко в libcyrinput запрограммированы?:
В Cacko keyhelper и cyrinput слиты в одно единое целое. А appskey - это что имеется в виду?
psionrevo [22.04.2007 09:38] :
это /usr/QtPalmtop.rom/binlib/appskey.so
оно пускается quickexec ом как appskey
и назначает коды клавишам
Calendar Address Mail Home Menu и еще одной (на тачскрине)
коды хранятся в \home\zaurus\Settings\qpe.conf
в разделе [AppsKey] - там их можно вручную прописать

например, прописываю для Calendar в [AppsKey] код @1021 (0x1021 -control)
keyhelperconf при нажатии показывает, что это Control
но галочку Control не ставит (т.е. в state нет ControlButton)
может поэтому она как Control и не работает =(
(хотел чтобы в mc Ctrl+O удобнее нажимать было, а то
постоянно Ctrl+O, make, Ctrl+O, Cancel+F4 и так в цикле,
исправляя ошибки

вот ковыряю пока исходники..
нашел, что
Fn+Shift жестко в cirillica / keyboardhandler.cpp прописано
перекомпилил libcyrinput.so.1.0.0 - теперь рус/лат переключаю одной клавишей (с иероглифами которая слева от - (@))
что по-моему удобнее
старое FN+SHIFT тоже оставил на всяк случай

сегодня получилось в zeditore 3.5.4 сделать, чтобы он и в русской раскладке понимал Ctrl+Ч как Ctrl+X (у меня Ч на Х) и т.п., чтобы при работе не переключать раскладку
(но ч он тоже печатает =) разбираюсь..)
только как код оптимизировать не знаю =(
получается что-то вроде
if ((e->key()==0)&&(e->state()==ControlButton)){
QString s1;
s1=e->text();
if (s1.compare(QString::fromUtf8("ч")){
QKeyEvent *r=new
QKeyEvent(e->type(),
0x58,0x58,e->state(),"x",false,e->count());//0x58 x
QMultiLineEdit::keyPressEvent(r);
//не помогает - все равно ч печатает может KeyRelease виноват
e->accept();
}
} else QMultiLineEdit::keyPressEvent(e);

в планах меню zeditor русифицировать через QString::fromUtf8 - уже пробовал - все ок

и еще проблема - у всех русские раскладки разные
значит мне нужно выдирать код из cyrillica
для определения какая русская раскладка выбрана
ее загружать и
формировать массив соответствий английских и русских букв =)))

наверное в исходники libcyrinput.so.1.0.0 добавлю процедуру
которая будет в /dev/shm создавать файл соответствия русской и
английской раскладки, а в zeditore его загружать

не знаю, чем лучше грабить клавиатуру в приложении
может qwsEventFilter ставить?

вопросов - море
если хоть на один будет ответ - баальшое спасибо!

p.s. есть затея в zeditor добавить кодировку win1251
потому что в нем есть меню выбора кодировок для ввода и вывода
для экспериментов нужен шрифт в кодировке win1251...
psionrevo [22.04.2007 09:40] :
да и еще почему на Calendar не получается в cacko повесить Control - если ее долго удерживать - вызывается Link Manager
и как от этого избавиться - ума не приложу =(((
maslovsky [23.04.2007 11:05] :
Думаю, что это сама кутопия эту клавишу обрабатывает.
[Ответить]