Re: Re: win32 keyboard handler

From: Paul Rohr (paul@abisource.com)
Date: Sat Apr 12 2003 - 01:15:09 EDT

  • Next message: David Bolack: "Help with MSYS based Windows building"

    At 10:49 AM 4/11/03 -0400, william.lachance@sympatico.ca wrote:

    > > --- Tomas Frydrych <tomas@frydrych.uklinux.net>
    > > wrote: >
    > > > The win32 keyboard handler seems rather broken, it
    > > > only handles
    > > > keyboard shortcuts made of Ctrl+letter. I does not
    > > > allow any
    > > > shortcuts using Alt, including Alt+Ctrl, and it does
    > > > not allow any
    > > > shortucts formed Ctrl+symbol/number. This means that
    > > > many of our
    > > > default bindings do not work.
    > > >
    > > > There might be good reasons for leaving the handling
    > > > of keys modified
    > > > with Alt alone to the system, but we really need to
    > > > be processing the
    > > > Alt+Ctrl combinations, and need to be able to use
    > > > not only letters
    > > > but also symbols and numbers with both Ctrl and
    > > > Alt+Ctrl -- many of
    > > > these are standard Word shortcuts.
    > >
    > > Hi Tomas. The Win32 keyboard handling code was just
    > > reworked so maybe we lost some functionality? I'm not
    > > sure. Our old code was too low-level and we were
    > > blocking a few tools as well as the ALT+keypad stuff
    > > from working.
    > >
    > > I suggest filing a bug report unless you can work on
    > > adding the missing stuff right away.
    >
    >I had a look at the keyboard code last summer, when I was planning to
    >completely rework it (this was before Jordi's patch). Anyway, somewhere in
    >the keyboard code, there was a > 300 line comment discussing how the win32
    >keyboard system worked (one sure sign of broken code: long comments trying
    >to justify its existence). I believe the system of trapping keypresses was
    >more akin to what a video game would do rather than a desktop application
    >-- the ALT+Ctrl keypress combination was the reason given.

    Yep, those bindings used to work with the old/complex/low-level mechanism.

    When Jeff originally wrote that code, he focused more on being able to get
    all the complex keybindings he wanted to trap, and after much gnashing of
    teeth over Win32 keyboard APIs that were broken at a number of different
    levels on different OS flavors, he went ahead and rolled his own
    very-low-level stuff.

    I do remember discussing ALT+keypad with him, and he had a solution in mind,
    but it never got implemented. I'm not surprised to hear that it interfered
    with some input methods, though -- Jeff didn't design for that.

    Not that any of this information helps you now that we've switched
    mechanisms -- Jordi will take care of things now -- but it brought back old
    memories.

    Paul

    PS: Next time you run across long comments written by Jeff, I'd recommend
    reading them more closely. He's one of the most talented developers I've
    ever met.



    This archive was generated by hypermail 2.1.4 : Sat Apr 12 2003 - 01:17:41 EDT