views:

981

answers:

6

Is it possible to assign a global hotkey to a specific feature in an Adobe AIR app, i.e. the app feature responds to the hotkey whether the app is active or not (it must be running of course, but only in the system tray).

+3  A: 

I don't this it's possible with Adobe AIR itself. The only method I can think of:

  1. Install 3rd party hotkey application (like AutoHotkey or HotKeyBind)
  2. Configure hotkey application to make CTRL+ALT+Q to launch "c:\programs\thvo42\coolapp.exe --hotkey q"
  3. In your AIR application, register for the NativeApplication.invoke event, and watch for arguments like '--hotkey q' to know that the Q hotkey was pressed, and then act accordingly.

Of course, this is kind of a hassle, maybe with some hacking you can roll it all into a single install file.

davr
Thanks, this should work for now. The key thing about invoke is:"When an application is invoked a second time, another instance of the application is not started. Instead, the first instance receives an additional invoke event."(Source: Adobe AIR docs linked above)
thvo
A: 

This doesn't seem like a very good solution.. I'm in the same predicament, and I need it to work in mac/win/nix. Any other suggestions out there?

+1  A: 

From the Reference Manual:

To listen globally for key events, listen on the Stage for the capture and target or bubble phase.

le dorfier
A: 

looking for an answer too! any help much appreciated.

A: 

I also need this funcion. Any one has success to do that?

bitshine
A: 

SWFKit creates a wrapper around your flash/flex movie, and allows access to system DLLs and other goodies, but unfortunately it would export as an .exe, so windows only and no AIR.

ASFAIK, there is no support for it by using AIR alone.

producerism