EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

Виртуальная клавиатура


Author Message
Written on: 11. 01. 2010 [12:46]
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
Существует ли виртуальная клавиатура для использования скады в тач панелях ?

Все глюки Windows исправляются установкой Linux :)
Written on: 11. 01. 2010 [13:29]
kuzulis
Денис Шиенков
registered since: 10.07.2009
Posts: 128
Тут наверное нужно использовать что-то системное или самому клавиатуру писать (на Qt4) icon_smile.gif
Written on: 11. 01. 2010 [13:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Писать свою виртуальную клавиатуру трудоёмкая задача, если конечно пытаться учитывать раличные типы раскладок для различных языков, а не учитывать для исходно многоязыкового проекта нельзя.

Кроме того это системная задача и такие программы есть, думаю Алексей скоро здесь про одну из них расскажет.

Learn, learn and learn better than work, work and work.
Written on: 11. 01. 2010 [13:45]
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
Конечно, есть виртуальная клавиатура.
Вопрос был вот к чему, в одной скаде на vxworks, по нажатию на поле ввода всплывает клавиатура для ввода.
В моем случае видимо придется делать кнопку с запуском сторонней xvkbd.
Просто несколько удобнее вызывать родную клаву (типа контрол) и место на экране не занимать кнопками.

Все глюки Windows исправляются установкой Linux :)
Written on: 11. 01. 2010 [14:35]
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
Данная необходимость недавно возникла и у меня.
После пересмотра многих из виртуальных клавиатур выявилая 1-на проблема на всех.
Проблема с поддержкой "многоязыковости".

Самая на мой взгляд оптимальная iok. Небольшой размер, большие кнопки. Но, если виджет запущен на весь экран, то даже вот так sysCall("kstart --ontop --alldesktops iok&");

iok - прячется за этим виджетом. )))))))))))))))))))

К подбору кливиатуры я еще вернусь, если вдруг что-нить нарою получше то пополню Wiki страницу вот тут http://wiki.oscada.org/Using/FPC-1701, о чем сообщу тут на форуме.icon_biggrin.gif

Да, и еще чуть не забыл, не нужно никаких кнопок делать что-бы вызвать системную клавиатуру.

else if( sval == "ws_FocusIn:/NewMode" ) {
sysCall("kstart --ontop --alldesktops iok&");
}
Где NewMode - это FormEl, тип элемента "строка редактирования".
Получаем вызов iok при активации поля ввода.



Но, sysCall для этого лучьше не использовать. Возникнет следующий геморой:
"Из виджета запускаю iok. Виртуальную клавиатуру.
Потом не закрывая iok, закрываю виджет. Сессия остается открытой, если после этого закрыть iok, не нормализуется. И OpenSCADA при выключении не может блокировать кучу узлов."


Поэтому используем другу API функцию OpenSCADA.
system();


Описание этой функции вот тут http://wiki.oscada.org/Doc/OpisanieProgrammy



[This article was edited 2 times, at last 11.01.2010 at 16:02.]
Written on: 08. 05. 2010 [12:53]
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
Благодарю

Все глюки Windows исправляются установкой Linux :)



2908