[comp.sys.amiga.tech] Messing with input events

a186@mindlink.UUCP (Harvey Taylor) (11/02/89)

   I finally got a copy of MiddleButton by Michael Sinz currently
 at CBM. This is a program which installs an input event handler
 which watches for the MiddleMouse Button and converts it into a
 Shift key, so you can do Extended Select with just the mouse.
   The algorithm in the handler is this:

   Is this a RawMouse class event?
      If no: goto get next event
      If yes:
         Is this a MButton code event?
            If no: goto test for MButton Up
            If yes: save a LShift value
                    goto set qualifier
         Is this a MButton Up code event?
            If no: goto set ie_qualifier
            If yes: clear the LShift value
         Set the ie_qualifier field
      Get the next event. If none quit.

   This has the effect of passing on the _LShift qualifier for
 mouse events until the middle mouse key is released.
   This is interesting, but not what I was interested in. What I
 wanted was a way to shove the WorkBench screen to the back, with
 the mouse. ie I want to convert the MMB messages into LAmiga-M
 messages. I modified the program to do this:

   Is this a RawMouse class event?
      If no: goto get next event
      If yes:
         Is this a MButton code event?
            If no: goto test for MButton Up
            If yes: set Keycode_m
                    goto set Class & Qualifier
         Is this a MButton Up code event?
            If no: goto get next event
            If yes: set Keycode_m & Prefix_up
         Set RawKey class & LAmiga qualifier
   Get the next event. If none quit.

   It seems to work. It moves the WBench back. I have not yet
 tested it extensively, however.
   What I am wondering is how dicey is changing input events that
 dramatically? Just how thin is this ice?
   <-Harvey

  "Look out kid. It's something you did.
                    God knows what, but you're doing it again!"

      Harvey Taylor      Meta Media Productions
       uunet!van-bc!rsoft!mindlink!Harvey_Taylor
               a186@mindlink.UUCP