Sounds like Mac has has some differences. I remember seeing some Mac-specific flag setting, related to event processing, but I don't have the knowledge of what might be going wrong there.

But, that's where I'd start to look is in the way that flags are set for fullscreen mode and see if there might be something obvious there.

~Roger

On 8/27/13 4:46 PM, Erik Innocent wrote:
Update: I'm now using 2.0.3, and I'm still encountering this issue with the Mac. But on both Raspian and Windows 8, the key presses are captured.

Cheers,
--E



On Fri, Jul 19, 2013 at 6:48 PM, Erik Innocent <[email protected] <mailto:[email protected]>> wrote:

    Yeah, I've got the source in Eclipse (w00t Maven). I just ran a
    debug session with fullscreen activated and deactivated, and when
    deactivated the debug cursor makes it to my breakpoint at line
    1306 (which for me is the line "if(dragDescendant== null) {" from
    your example in your last email), but with fullscreen the cursor
    never makes it there. I do however get the sound of the basic
    error bell upon each key press when in fullscreen mode -- the same
    bell as you might hear in a terminal window when pressing an
    invalid key.

    Note also that I cannot do an alt-tab to verify that the
    application is indeed in the foreground, but I clicked on it with
    the mouse to help make sure. I suppose I could try adding a
    mouse-click listener if you think that route (the application not
    having true focus) bears investigation.

    Thanks again for the prompt replies, I truly appreciate it.

    HTH,
    --E


    On Fri, Jul 19, 2013 at 6:30 PM, Roger L. Whitcomb
    <[email protected] <mailto:[email protected]>> wrote:

        Okay, then I have a couple more questions:

        ·Do you have the capability to debug Pivot code itself? (that
        is, do you have the source downloaded, and setup in Eclipse or
        whatever IDE you are using?)

        ·Or can you build the Pivot source with some debugging print
        statements?

        Because if either one, it would be good to see if the key
        events even make it into this code in ApplicationContext.java:
        1291 and following, and if so, what is preventing the
        UnprocessedKeyHandler from being called.  Basically this is
        the logic (for all three events):

        if (dragDescendant == null) {

        // Process the event

        Component focusedComponentLocal = Component.getFocusedComponent();

        . . .

        try {

        if (focusedComponentLocal == null) {

        for (Application application : applications) {

        if (application instanceof Application.UnprocessedKeyHandler) {

        Application.UnprocessedKeyHandler unprocessedKeyHandler =

        (Application.UnprocessedKeyHandler)application;

        unprocessedKeyHandler.keyPressed(keyCode, keyLocation);

                              }

        }

        So, basically the “dragDescendant” could be non-null
        (doubtful), or the “focusedComponentLocal” could be non-null
        (possible that fullscreen mode puts focus somewhere we don’t
        expect).  But, I’m thinking it is more likely more fundamental
        in that the key events are never even getting into this code.

        (I’m like the teacher giving you the homework assignment ;) …
        I’m a little busy right now, or I’d do these same tests myself.)

        Thanks,

        ~Roger Whitcomb

        *From:*Erik Innocent [mailto:[email protected]
        <mailto:[email protected]>]
        *Sent:* Friday, July 19, 2013 4:13 PM
        *To:* user
        *Subject:* Re: How to make UnprocessedKeyHandler function in
        fullscreen mode?

        I just tried it again with output statements in keyPressed()
        and keyReleased() and the problem still exists. Thank you so
        much for the prompt reply! And you're welcome for the test
        case, I'm happy to provide anything that makes it easier for
        us to get to the bottom of this =)

        Cheers,

        --E

        On Fri, Jul 19, 2013 at 6:04 PM, Roger and Beth Whitcomb
        <[email protected]
        <mailto:[email protected]>> wrote:

        Hi Erik,
            I haven't tried your code yet, but I wonder if you get
        anything from the "keyPressed" or "keyReleased" methods
        either?  I could imagine a scenario in which the keystrokes
        were intercepted, but not translated to keys.... Also, I will
        look at the ApplicationContext code where it dispatches things
        to see if there is anything strange related to fullscreen mode
        that might be going on.  Thanks for the test case.

        ~Roger Whitcomb

        On 7/19/13 3:58 PM, Erik Innocent wrote:

            How can I make UnprocessedKeyHandler function in
            fullscreen mode? Which is to say, unprocessed keys seem
            not to be detected in fullscreen mode. I posted a simple
            example here:

            https://gist.github.com/einnocent/6042931

            Uncomment the line w/ setFullScreen(true) to toggle back
            and forth between starting in a window and fullscreen.
            When it works, you should be able to press (pretty much)
            any key and see a log line printed to console. Am I doing
            something wrong, or is this a bug?

            My versions: JRE 1.7.0_21; Mac OS X 10.6.8; Apache Pivot 2.0.2

            Thanks!

            --E




Reply via email to