Apr 22, 2010

Adobe why did you do this? - Flash & Flex keybord disabled in fullscreen mode

Why would Adobe disable keyboard input in full screen mode?  We have an application that would really benefit from this yet we are held back?

Why Adobe?

If anyone knows a work around I'd love to hear it.

http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_03.html#head5

7 comments:

  1. Which FP are you referring to?
    ReplyDelete
  2. Can you use Adobe AIR as runtime?

    From help:

    "These restrictions are not present for SWF content running in the stand-alone Flash Player or in AIR. AIR supports an interactive full-screen mode that allows keyboard input."

    http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS2E9C7F3B-6A7C-4c5d-8ADD-5B23446FBEEB.html
    ReplyDelete
  3. It's a security issue.

    Faking a users desktop and capturing input would then be too easy.

    Only solution is to display a keyboard in your app.
    ReplyDelete
  4. actually there are several workarounds, google for it :) there are c#/.NET/ python / java proxies ... something that listens to your keyboard events and then pushes it to flash via external interface or something like that
    ReplyDelete
  5. You can always tell your users to just use their browser's built-in fullscreen feature. Supported by every browser out there as far as I know, and imposes no security restrictions. (View->Full Screen in both FireFox and IE)

    Also in the latest flash player, the keyboard is not fully disabled in fullscreen mode. You can still use Tab, Space, and the 4 arrow keys.
    ReplyDelete
  6. It's indeed a security precaution against some third-party SWF faking an entire interface to, say, your bank or other account. The "full screen" is intended for viewing, not for doing.

    There was a related command, also seemingly innocuous, a few years ago... programmatic copy-to-clipboard. Programmatic-paste was never implemented, due to concerns that sensitive materials might be on the clipboard which a malevolent SWF could then grab. But later even the programmatic-copy failed when bad SWF started (unbelievably) spamming the clipboard with advertising messages, which were only seen when the user tried to paste!

    If you're trying to create a large interface, I'd recommend creating a large interface... that "full screen viewing" is explicitly designed for viewing, and it's too unsafe to let interactive screens take over the whole screen, sorry.

    jd/adobe
    ReplyDelete
  7. @yanil Flash Player 9 and 10

    @JappyPanda At this time we can't use AIR and want it to run in the browser.

    @JD Thanks for the comments. 2 issues have been raised:
    https://bugs.adobe.com/jira/browse/FP-4397 &
    https://bugs.adobe.com/jira/browse/FP-4398
    ReplyDelete