# 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