Re: XForms: signal callback blocked by shortcut

From: Jan Menzel (jmenzel@mail.desy.de)
Date: Fri Nov 24 2000 - 10:37:27 EST

  • Next message: joel: "Re: XForms: strcmp"

    # To subscribers of the xforms list from Jan Menzel <jmenzel@mail.desy.de> :

    On Thu, 23 Nov 2000, Steve Lamont wrote:

    > # To subscribers of the xforms list from Steve Lamont <spl@ncmir.ucsd.edu> :
    >
    > > > > on my application i'm using fl_add_signal_callback() to register a
    > > > > 50Hz timer callback which should be able changing the gui. Doing gui
    > > > > interaction works all fine without larger delays calling the callback
    > > > > exept when shortcuts are used. The signal delivery seems to be suppended
    > > > > from pressing the key to releasing it.
    > > >
    > > > Can you provide example code which exhibits this behavior? It will
    > > > make it considerably easier to find a solution.
    > > >
    > > I can. ;) You'll find a little program, setting up the usual "Push Me"
    > > button, which can be pushed using <space>, ^p and ^m. In addition the
    > > signal SIGALRM is generated with 1Hz using setitimer() and catched using
    > > fl_set_signal_callback(). The callback does only count a number and prints
    > > it. If the Button is pressed using one of the shortcuts, the counting
    > > stops - the mentioned blocking, I guess.
    >
    > I'm not sure there is a way of fixing this without breaking XForms or
    > simply not using the signal callback mechanism. The control flow
    > changes whenever a shortcut is invoked and short of mucking with
    > XForms internals, there's not much of a way to override this behavior.
    >
    > Perhaps TC can make some recommendations when he returns from
    > vacation.
    >
    I now discovered a new problem again: while the shortcut key is pressed
    processing of all events is blocked. Doing interaction with the mouse is
    not possible, callbacks are not called anymore, idle callbacks are not
    called. Using the mouse for primary interaction one can still use shortcut
    keys in parallel. Eg. pressing a mouse button does not block anything.
            It looks to me, that event handling is done different for mouse
    then for keyboard events. I whould propose handling MOUSE_BUTTON_PRESS/
    KEY_PRESS and MOUSE_BUTTON_RELEASE/KEY_RELEASE the same for a given
    opbject.

            Cheers Jan

    ------------------------------------------------
     Dipl. Phys. | mailto: jan.menzel@gmx.de
     Jan Menzel | http://www.lighting-solutions.de
    ------------------------------------------------

    _________________________________________________
    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/



    This archive was generated by hypermail 2b29 : Fri Nov 24 2000 - 10:39:18 EST