Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   KeyboardEvent и русские буквы (http://www.flasher.ru/forum/showthread.php?t=86392)

MerlinTwi 13.10.2006 18:53

KeyboardEvent и русские буквы
 
В событии KeyboardEvent передается charCode в английской раскладке, даже если текущий русский язык, возможно ли получить русскую букву?

MerlinTwi 16.10.2006 12:26

Пока такой возможности не нашел, но придумал как извратиться.
Создаем невидимое текстовое поле ввода (Input text), по событию KeyboardEvent.KEY_DOWN ставим фокус на это поле (stage.focus) и по KeyboardEvent.KEY_UP считываем текст из него.

etc 16.10.2006 13:32

Ммм, код клавиши не зависит от языка, вообще.
Просто нет возможности определить текущий язык клавиатуры и дело не в коде.

__i 19.10.2006 13:33

краткая лекция по клавиатуре:

в досе было всего 256 возможных символов. причем первые 128 описывали стандартные для всего мира (английский алфавит + управляющие символы) остальные (№№128-255) это уже зависит от локализации компа и прочего. В Винде такая же ботва только отличаются символы находящиеся в в этих последних символов + канешно добвились и другие (как это внутри работает я с ходу сказать не могу, но принцип тот же)

При нажатие на клавишу клавиатура передает компу номер нажтой клавиши(символа), номера клавиш в находяться все в том же диапазоне 0-255 (тут я немного вру, не все номера символов передаются, хотя в far в редакторе можно нажав alt и наклацав на NumPade нужный номер получить символ).
Если нажимается какая либо служебная клавиша или сочетание ctrl, alt + key, то клава передает 2 цифры первый 0, а потом уже номер этой клавиши.

Затем операционка получив номер этой клавиши уже делает соответствующие действия, в зависимости от параметров (языковая раскладка, настройки и еще чего-то).

К чему это я клоню, что charCode всегда один и тот же, не зависимо от того где наш комп и какая раскладка на нем включена.,

В AS3 тоже есть System.useCodePage, попробуй с ним. Если не поможет тогда я бы начал плясать от него по хелпу

etc 19.10.2006 13:55

__i, вот последний абзац я не понял, к чему ты его написал…
И каким образом это может помочь определению языка раскладки.

MerlinTwi 19.10.2006 14:39

__i, ну у вас и каша в голове :) Ошибки и неточности в каждом предложении, а уж к теме топика это все вообще не имеет отношения.

Перефразирую задачу: требуется получить нажатый пользователем символ, если фокус не на Input text.
К примеру, имеем самописный ComboBox, хочется, чтобы в его открытом состоянии пользователь мог набирать символы для быстрого поиска нужной строки.

etc 19.10.2006 15:38

Ну, тут есть только такой вариант:
если в комбобоксе нет текста, набранного в английской раскладке — искать в русской. И наоборот.
Или, заведомо зная, что в комбобоксе только русский текст (предположим), то искать только в русской раскладке.


Часовой пояс GMT +4, время: 19:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.