Re: Code points on Windows

From: Bob_Hallissy@sil.org
Date: Thu Jan 15 2004 - 04:43:13 EST

  • Next message: Raymond Mercier: "RE: Code points on Windows"

    On 14/01/2004 20:18:51 Philippe Verdy wrote:

    >There's nothing in the default keyboard drivers to allow you input
    directly
    >from the keyboard, characters that are not in your current Windows code
    page
    >(the default keyboard drivers will not return characters outside of this
    >codepage).
    >
    >When this support is added, it does not come from the keyboard driver
    >itself, but from GUI input components like rich-edit controls, which will
    >remap the keyboard events using alternate conversion rules to generate
    >characters outside of the current Windows ANSI codepage (for example by
    >mapping AltGr+x followed by hexadecimal Unicode code point).
    >

    I think you are painting a picture that is more bleak than need be:

    1) On Win 2K/XP (assuming a Unicode application), keyboard drivers are not
    restricted to characters that are in the "current Windows code page". You
    can use Microsoft Keyboard Layout Creator to build a keyboard driver that
    generates any Unicode character you want. (Such keyboards will *not* work
    as expected on non-Unicode apps as the OS has no way to translate the
    Unicode character into a codepage char.)

    2) Both of the above restrictions (OS and application) can be worked
    around using WM_UNICHAR keyboard messages rather than WM_CHAR. This
    requires special keyboard software (e.g., Tavultesoft Keyman) and
    applications that are aware of WM_UNICHAR (I think RichEdit and MS
    Publisher, as well as various 3rd party sw).

    Bob



    This archive was generated by hypermail 2.1.5 : Thu Jan 15 2004 - 05:21:49 EST