![]() |
Виртуальная клавиатура и шифт
Здравствуйте уважаемые)
Поставили передо мной задачу сделать клавиатуру для проекта который планируется запускать как на страницах в web так и на терминалах с TouchScreen(сенсорные экраны). Любопытен такой момент: когда на сенсорном экране нажимаешь кнопку а потом жмешь в другом месте не отпуская первой что происходит? Оба нажатия будут обрабатываться параллельно? Та же самая клавиша Shift, как можно реализовать чтобы при нажатии на нее клавиша возвращала альтернативный вариант ввода (вместо "а" давала "А", вместо "=" давала "+"). Кто работал подскажите, или может у кого какие еще идеи есть как делать?:cool: |
Вряд ли экран мультитачный. Вроде шифт работает как чекбокс в таких случаях. Нажал его он селектится, нажал кнопку, она сработала с шифтом, шифт расселектился. А если работает двойной клик, то можно селектить шифт до следующего двойного клика.
Либо просто как капслок пусть работает, нажал - работай в другом регистре. При этом можно менять метки на всей клавиатуре для удобства. |
Да именно такие варианты пока в голову и приходили).
Цитата:
Этак дальше пойдет начнут придумывать что надо одни значки делать тусклыми когда раскладку меняют чтобы и видно было что в другой раскладке можно выбрать и что оно пока не доступно:mosking: |
KeyboardEvent
Цитата:
|
Ну это в самом деле не проблема, глаза боятся, а руки делают. В тач скринах алгоритм на блокировку на многоточечное нажатие присутствует(как производитель захочет), он его может и не пропустит, но как написал iNils, эта проблема решаема. Я сам давно хочу ввести в промышленной автоматизации вакансию flash designer. Самые ходовые панели у нас Siemens TouchPanel с WindowsCE 5.0 Там флэш плеер вряд ли потянет, процессоры ARMовские, специализированые и памяти маловато. А так у меня мечта, делать визуализацию технологических процессов на флэш(с WinCC в куче)... красоту можно развести неймоверную, если бы панель ещё PV3D потянуло, то вообще безграничные возможности. Панелей таких я не встречал, но они вполне реальны. Вот и интересно под какие тач скрины вы делаете флэш.
Как прикрутить флэш ко всей системе АСУ ТП я уже давно придумал, жаль только автоматизация у нас плохо развита и только начинает обороты, да и заказчики за такое платить откажутся... а в штатах бы попёрло наверное. Ядерной установкой управлять через flash оболочку.... как развернуться можно |
То бишь на каждую кнопку виртуальной клавиатуры вешаю на клик dispatchEvent(new KeyboardEvent(...)); и в нем передаю свои флаги, а дальше уже делаю обработку как будто с клавы вводят. Выходит клава будет также отлавливаться как и виртуальная клава. Чтобы от этого избавиться посоветуете сделать наследника от KeyboardEvent? Еще нужна поддержка нескольких языков. Нет иде.й как делать привязку к charCode с учетом языка, CapsLoсk и Shift.
|
помоему keyboardEvent вообще нафиг не нужно... думаю windows будет отдавать нажатия на touch screen как события мыши, этого вполне достаточно... хотя конечно это уже надо виндовс смотреть, как он там всё это видит. Вполне может быть что флэшплеер вообще не будет реагировать на нажатия точ скрина потому как у него нет таких событий
|
Объясняю популярно. На экране виртуальная клавиатура, рядом текстовое поле. Когда щелкают по кнопке необходимо в текстовое поле добавить соответствующий символ. Также необходимо оставить возможность ввода непосредственно с клавы.
Когда щелкают по такскрину получаем обычный клик по кнопке виртуальной клавиатуры(я так думаю). В целом не сложно, но вот как сделать контроллер для всей клавы чтобы кнопка возвращала нужный charCode с учетом языка, Регистра и Шифта. |
Да ерунда это... на каждую кнопку виртуальной клавы поставить листенер события клика, добавить переменую языка(если 2 языка то можно булевую) и функцию с входящим параметром "кликнутый символ" и строкой
Код AS3:
|
было бы странно если бы клик не отлавливался) на сколько я понимаю должно срабатывать на уровне операционной системы а не конкретного приложения. Во всяком случае на той панели, для которой делаю другие кнопки работают, уже пробовали)
|
| Часовой пояс GMT +4, время: 21:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.