Re: French characters

From: Dances With Crows (
Date: 06/10/04

  • Next message: Cyber Scout: "Re: French characters"
    Date: 10 Jun 2004 15:29:21 GMT

    On 10 Jun 2004 01:43:21 -0700, Cyber Scout staggered into the Black Sun
    and said:
    > Dances With Crows <> wrote in message
    > news:<>...
    >> On Wed, 9 Jun 2004 11:04:34 +0000 (UTC), Cyber Scout staggered into
    >> the Black Sun and said:
    >> > I have an application which basically simulates a keyboard on
    >> > screen, and sends key presses using XTestFakeKeyEvent . It
    >> > basically uses XKeysymToKeycode to calculate the key code from the
    >> > ascii value of the onscreen button pressed. I want to extend the
    >> > functionality of this application to cover the entire French
    >> > character set, but when this is used with ascii values above 126
    >> > the window the "Keyboard" is working with crashes, taking the
    >> > keyboard window with it. Any ideas?
    >> header file reffed above and found that keysyms between 0x7F and 0xA0
    >> are not defined; if you call XKeysymToKeycode() on a keysym in that
    >> range (or any undefined keysym), it'll return 0. Are you handling that
    > More debug revealed that XKeysymToKeycode indeed returns 0 for the
    > characters I want, which turns my problem into an entirely different
    > one, how to generate French characters using a standard keyboard
    > setup.

    Using Multi_key and the key combinations defined in
    /usr/X11R6/lib/X11/locale/iso8859-1/Compose is the way to go if you're
    in the ISO-8859-1 locale. I wrote about this in another message
    yesterday in col.misc; did you see it? Message-ID is .

    >> if it barfed if you fed it a 0 for the keycode. Anyway: Find out
    >> which function call caused the crash, using printf() if necessary,
    > XTestFakeKeyEvent appears to return OK, it appears to be the entry box
    > recieving an invalid key code that barfs, however I need to improve
    > the debug to work that out.

    Can't suggest anything without looking at the code here, but the lowly
    printf() can be very helpful in lots of circumstances. Just sprinkle
    them everywhere (like breadcrumbs) in the area where you think the bug
    is, and look at the last one you get before the crash, then the bug's
    between that printf() and the next one. Iterate, and eventually you
    find the bug.

    Matt G|There is no Darkness in Eternity/But only Light too dim for us to see
    Brainbench MVP for Linux Admin /    mail: TRAP + SPAN don't belong     /                Hire me! 

  • Next message: Cyber Scout: "Re: French characters"