XForms: Free Object and the handle (FL_KEYBOARD)

From: Lars Gullik Bjønnes (larsbj@lyx.org)
Date: Wed Aug 09 2000 - 20:26:24 EDT

  • Next message: Peter Firmstone: "Re: XForms: libforms.so : undefined reference to '_xstat'"

    # To subscribers of the xforms list from larsbj@lyx.org (Lars Gullik Bjønnes) :

    LyX is using a Free object of its document window, we have had a
    raw_callback to take care of all KeyPress events (and using our own
    lookup using XmbLookup...). This has worked flawlessly (almost) with
    XForms 0.88.

    Now with 0.89 things are different, and I suspect this is because
    XForms itself have support for compose now. Anyway when investigating
    this it became apperant that we probably did not need the raw callback
    any more and could just handle FL_KEYBOARD in the free forms handle,
    _but_ the parameters passed to the handle are strange: It seems that
    the key argument is not the keysym, but rather the char value...

    F.ex. pressing delete does not give "Delete" (after running through
    XKeysymToString), but "" and the keysym as a value of 127.

    To sum it up: for a free object the key arguement and the void * ev
    are completely out of sync when it comes to FL_KEYBOARD.

    The sequence Compose+¨+u gives:

    [Compose]
    Workarea event: KEYBOARD
    WorkArea: Key is `' [0]
    WorkArea: Keysym is `Multi_key' [65312]
    [¨]
    Workarea event: KEYBOARD
    WorkArea: Key is `' [0]
    WorkArea: Keysym is `diaeresis' [168]
    [u]
    Workarea event: KEYBOARD
    WorkArea: Key is `' [0]
    WorkArea: Keysym is `' [0]
    Workarea event: KEYBOARD
    WorkArea: Key is `udiaeresis' [252]
    WorkArea: Keysym is `' [0]

    btw. Using the raw callback does also not work since it seems that
    XForms actually processes the XEvent in some way before the callback
    is reached and this makes XmbLookupString hard/impossible to use from
    inside LyX.

            Lgb
    _________________________________________________
    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 : Wed Aug 09 2000 - 20:33:31 EDT