Re: XForms: Testing to see if a key is released

From: Reed Riddle (drriddle@qwest.net)
Date: Thu May 29 2003 - 00:12:33 EDT

  • Next message: jac@casurgica.com: "Re: XForms: Towards xforms 1.1"

    # To subscribers of the xforms list from "Reed Riddle" <drriddle@qwest.net> :

    Hi Angus,

    Yep, I saw the emails about your patch...I was hoping it was rolled in
    already. Thanks for the information, I'll give it a go and see if I
    can cobble something together. :)

                                            Reed

    > Hello Reed,
    >
    > if you want notification from xforms about an XEvent of type KeyRelease
    > (xforms gives them the enum identifier FL_KEYRELEASE), then I'm afraid
    > you
    > are entirely out of luck. xforms silently swallows them.
    >
    > do_interaction (which processes the raw XEvents) hands KeyRelease
    > events to
    > do_keyboard which in turn hands them to the main xforms event handler,
    > fl_handle_form (although it actually processes KeyRelease events
    > incorrectly
    > since calling XmbLookupString on a KeyRelease event is undefined ---
    > not that
    > that should matter in your case).
    >
    > Thereafter, I'm afraid, the trail goes cold. FL_KEYRELEASE is simply
    > not
    > handled at all in the fl_handle_form switch. You have absolutely no
    > hope of
    > xforms telling you about it. Instead you will have to use something
    > like:
    > fl_register_raw_callback(form, KeyReleaseMask, peek_event);
    > where
    > static int peek_event(FL_FORM * form, void * ev);
    > is a function you create to process the XEvent that has been cast to a
    > void *:
    > static int peek_event(FL_FORM * form, void * ev) {
    > XEvent * xev = ev;
    > if (xev->type == KeyRelease) {
    > ...
    > return 1;
    > }
    > return 0;
    > }
    >
    > FWIW, I have a patch that fixes this bug in xforms but it is currently
    > part of
    > a larger whole and I haven't tried to extract this little bit yet.
    >
    > HTH,
    > Angus
    >
    > _________________________________________________
    > To unsubscribe, send the message "unsubscribe" to
    > xforms-request@bob.usuhs.mil or see
    > http://bob.usuhs.mil/mailserv/xforms.html
    > XForms Home Page: http://world.std.com/~xforms
    > List Archive: http://bob.usuhs.mil/mailserv/list-archives/
    > Development: http://savannah.nongnu.org/files/?group=xforms
    >
    >

    ----------------------------------------------------------------------
    Dr. Reed L. Riddle
    Associate Director of Whole Earth Telescope Operations
    Iowa State University Department of Physics & Astronomy
    Email: drriddle@qwest.net
    Homepage: http://www3.iitap.iastate.edu/~riddle/

    "This life has been a test. If it had been an actual life, you would
      have received actual instructions on where to go and what to do."
                                     -- Angela Chase, "My so-called life"

    _________________________________________________
    To unsubscribe, send the message "unsubscribe" to
    xforms-request@bob.usuhs.mil or see
    http://bob.usuhs.mil/mailserv/xforms.html
    XForms Home Page: http://world.std.com/~xforms
    List Archive: http://bob.usuhs.mil/mailserv/list-archives/
    Development: http://savannah.nongnu.org/files/?group=xforms



    This archive was generated by hypermail 2b29 : Thu May 29 2003 - 00:14:40 EDT