потому что кто в cacko испускает nextKbdLayout()
по Fn+shift
в libkbdapplet
так и не нашел =(
точно не keyhelper
попробую перекомпилить libcyrinput
в нем в KeyboardFilter сделаю левую нижнюю как Control
и русификатор на одиночную клавишу повешу
посмотрим, что получится
вообще, мешанина какая-то:
keyhelper
cyrinput
appskey
и все над клавой измываются =)))
Fn+Shift жестко в libcyrinput запрограммированы?
Re: Fn+Shift жестко в libcyrinput запрограммированы?
В Cacko keyhelper и cyrinput слиты в одно единое целое. А appskey - это что имеется в виду?psionrevo писал(а):вообще, мешанина какая-то:
keyhelper
cyrinput
appskey
и все над клавой измываются =)))
это /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...
оно пускается 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...