
05.04.2004, 22:13
|
|
Регистрация: Apr 2004
Адрес: Минск
Сообщений: 176
|
проблема: раскладка клавиатуры
Опытным кодерам вопрос.
Задание такое - программа, аналогичная клавиатурному тренажеру, с поддержкой разных языков, необходимо, чтобы она реагировала на переключение раскладки на клавиатуре
Пробовал варианты:
1. Класс Key
some_mc.onKeyDown=function(){
if(Key.getAcsii()==needfull_symbol){trace ("we happy!");}
else {trace ("nevemind")};
}
Key.addListener(some_mc);
Не катит, т.к. Key.getAcsii() возвращает только коды
латинских символов, бесполезно сравнивать со знаками
кириллицы (needfull_symbol="Л")
2. Дополнить вышеописаный код функицией, заменяющие
латинские символы на кириллицу.
If(pressed_symbol="s"){needfull_symbol="ы";} - для
каждого символа
Не катит, т.к. количество возможных языков потенциально
неограничено, и для каждого из них придется создавать
свой вариант такой функции
3. Использование TextField type="input" - введенный текст
реагирует на переключение раскладки клавиатуры,
само текстовое поле можно сделать невидимым, что бы не
мешало, а сравнение символов проводить по
событию
text_field_item.onChange=function(){
if(last_symbol==needfull_symbol){trace ("we happy!");}
else {trace ("nevemind")};
}
Пока используется такой код, но и он неустраивает,
т.к. в текстовое поле нужно передать и удерживать фокус
ввода, причем сделать это програмно -
Selection.setFocus("text_field_item");
не получается -
onChanged срабатывает только после установки курсора
в поле ввода вручную, мышкой.
Если кто-то подскажет решение, в котором пользователю не
нужно устанавливать курсор в поле ввода (пользователь
вообще не должен знать о его существовании)
буду чрезвычайно благодарен.
__________________
Юра
|