• Sam Lantinga's avatar
    Fixed bug #61 · 864d889b
    Sam Lantinga authored
    Date: Mon, 24 Feb 2003 13:35:11 +0800
    From: "Leonidas"
    Subject: [SDL] Re: Trigger mouse wheel event -- not in X-environment
    
    I have looked into the codes for the IMPS/2 mouse wheel mode of fbcon driver.
    But I found something weird.
    
    Here's the original codes to set a mouse device into IMPS/2 mode in libSDL.
    In the file src/video/fbcon/SDL_fbevents.c
    In function static int set_imps2_mode(int fd)
    ...
     Uint8 set_imps2[] = {0xf3, 200, 0xf3, 100, 0xf3, 80};
     Uint8 reset = 0xff;
     fd_set fdset;
     struct timeval tv;
     int retval = 0;
    
     // Set mouse device fd into IMPS/2 mode
     if ( write(fd, &set_imps2, sizeof(set_imps2)) == sizeof(set_imps2) ) {
      // ??? then RESET it..???
      if (write(fd, &reset, sizeof (reset)) == sizeof (reset) ) {
       retval = 1;
      }
     }
    ...........
    
    Since it sets IMPS/2 mode then reset it, so you will never get a mouse into
    IMPS/2 mode to use its wheel.
    What I did to make the wheel usable is remove the RESET codes.
    ....
     if ( write(fd, &set_imps2, sizeof(set_imps2)) == sizeof(set_imps2) ) {
        /*
        if (write(fd, &reset, sizeof (reset)) == sizeof (reset) ) {
        }
       */
       retval = 1;
     }
    ....
    And in FB_OpenMouse(_THIS)
    Make the device /dev/psaux to be setted into imps2 mode  such that it can be
    detected its a imps/2 mouse or not.
    (my mouse device is on ps2, but the codes only set /dev/input/mice device
    originally)
    Then I have done, I can use the mouse wheel when SDL uses frame buff driver.
    
    I dont exactly know I did right or wrong, I just change it for my usuage.
    Correct me please, if I did something wrong.
    
    Best regards,
    Li Tsung Lin
    IAP Product Dept. Engineer
    EeRise Corp. (Image Processing System, Computer Vision System)
    Hsin Tien, Taipei Hsien, Taiwan, R.O.C.
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401589
    864d889b
Name
Last commit
Last update
build-scripts Loading commit data...
docs Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
.cvsignore Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
CWprojects.sea.bin Loading commit data...
EpocBuildFiles.zip Loading commit data...
INSTALL Loading commit data...
MPWmake.sea.bin Loading commit data...
Makefile.dc Loading commit data...
Makefile.in Loading commit data...
Makefile.minimal Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.AmigaOS Loading commit data...
README.BeOS Loading commit data...
README.CVS Loading commit data...
README.DC Loading commit data...
README.Epoc Loading commit data...
README.MacOS Loading commit data...
README.MacOSX Loading commit data...
README.MiNT Loading commit data...
README.NanoX Loading commit data...
README.OS2 Loading commit data...
README.PicoGUI Loading commit data...
README.Porting Loading commit data...
README.QNX Loading commit data...
README.Qtopia Loading commit data...
README.RISCOS Loading commit data...
README.WinCE Loading commit data...
README.wscons Loading commit data...
SDL.qpg.in Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
VisualC.html Loading commit data...
VisualC.zip Loading commit data...
VisualCE.zip Loading commit data...
Watcom-OS2.zip Loading commit data...
WhatsNew Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
configure.in Loading commit data...
docs.html Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...