Крюк для клавиатуры Adobe AIR - PullRequest
2 голосов
/ 16 декабря 2008

Я пытаюсь добавить в приложение AIR функцию, которая может прослушивать (настраиваемые) глобальные события клавиатуры, даже когда приложение свернуто. Пример: CTRL-ALT-SHIFT-F12, чтобы получить скриншот.

Я не могу найти способ зарегистрировать перехват клавиатуры, и прослушивание событий клавиатуры захватывает их только тогда, когда приложение находится в фокусе. Предложения?

Ответы [ 5 ]

2 голосов
/ 23 мая 2009

Я не думаю, что программы Adobe Air могут обрабатывать события нажатия клавиш, если приложение не находится в фокусе.

http://forums.adobe.com/thread/420446

Даже В этом вопросе о глобальном обработчике нажатий клавиш говорится, что приложение должно быть в фокусе.

1 голос
/ 06 августа 2010

С NativeProcess вы можете довольно легко написать внешнее приложение, чтобы прослушивать глобальные события клавиатуры и отправлять их обратно в приложение AIR. Я мог бы пойти по этому пути сейчас ...

1 голос
/ 19 декабря 2008

Попробуйте подключить KeyboardEvent к сцене:

stage.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler);  

function KeyHandler(e:KeyboardEvent){
    trace ("Key Code: " + e.keyCode);  
    trace ("Control? " + e.ctrlKey);  
    trace ("Shift? " + e.shiftKey);  
    trace ("Alt? " + e.altKey);  
}
0 голосов
/ 04 августа 2011

Один из методов, которые я использую, - это мониторинг буфера обмена в приложении AIR, который позволяет вам реагировать только на основе скопированных данных, но это по крайней мере своего рода способ прослушивания ввода, когда приложение не имеет фокуса.

0 голосов
/ 12 августа 2010

Я тестирую свое приложение Air во Flash CS5, и мне нужно отключить сочетания клавиш, чтобы я мог проверить свои собственные сочетания клавиш. Я могу заставить Ctrl-F работать, но Ctrl-C не будет.

Я заметил, что мои сочетания клавиш будут работать, если я тестирую стандартный файл AS3.

...