PDA

Просмотр полной версии : ctrl+c, ctrl+v, ctrl+z


Vevenn
05.03.2008, 13:26
Мне для редактора необходимо обрабатывать такие комбинации клавиш, но при нажатом ctrl, KeyboardEvent.KEY_DOWN для других клавиш не срабатывает. Подскажите, плз, как реализовать это.

FSBmipt
05.03.2008, 14:19
Коротко: AVM1 мувик слушает Key.isDown по ентерфрему и пишет в LC, если одновременно зажат нужный шорткат.

udaaff
05.03.2008, 15:43
Мне для редактора необходимо обрабатывать такие комбинации клавиш, но при нажатом ctrl, KeyboardEvent.KEY_DOWN для других клавиш не срабатывает. Подскажите, плз, как реализовать это.
Можно пример того, как он несрабатывает?

etc
05.03.2008, 16:00
Коротко: AVM1 мувик слушает Key.isDown по ентерфрему и пишет в LC, если одновременно зажат нужный шорткат.
Ага, при условии того, что задержка может быть до 40 миллисекунд…

Vevenn
05.03.2008, 16:39
Можно пример того, как он несрабатывает?
Конечно можно:
package source{
import flash.display.Sprite;
import flash.events.*;

public class Example extends Sprite {

public function Example() {
addEventListener(KeyboardEvent.KEY_DOWN, keydown);
}

private function keydown(event:KeyboardEvent):void{
trace(event);
}
}
}
Если я зажимаю одновременно, например С и А, то все нормально ловит, а если ctrl зажат, то уже реакции на нажатие тех же С и А нет

FSBmipt
06.03.2008, 12:14
Ага, при условии того, что задержка может быть до 40 миллисекунд…
Это единственное универсальное решение. Тема уже поднималась. (http://www.flasher.ru/forum/showthread.php?t=94007)

P.S. FYI Если будет работа с текстом в буфере, учтите тот факт, что в FF текст вставляется в input textField по KEY_UP, в IE по KEY_DOWN.

etc
06.03.2008, 12:28
Это единственное универсальное решение.
Не единственное. Пока озвучивать не буду, возможно, опишу в блоге.