Mousewheel support under win9x

Hi,

mousewheel doesn’t work for me under win9x,
only under linux…

the WM_MOUSEWHEEL message isn’t processed
under win9x, so i tried taking out the:

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

from SDL_sysevents.c … because it should work
for win98 (although it doesnt for win95) i think
this may be a bug… this line should be fixed
to include win98/ME too… i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

… anyways:
i recompiled SDL and relinked my program
again… still same result… mousewheel doesn’t
work at all…

any clues?

Thx, Nehal

Can you scroll in other apps, like IE and stuff? If you cant, there is your
answer.On 16-Nov-2002, Nehal Mistry wrote:

Hi,

mousewheel doesn’t work for me under win9x,
only under linux…

the WM_MOUSEWHEEL message isn’t processed
under win9x, so i tried taking out the:

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

from SDL_sysevents.c … because it should work
for win98 (although it doesnt for win95) i think
this may be a bug… this line should be fixed
to include win98/ME too… i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

… anyways:
i recompiled SDL and relinked my program
again… still same result… mousewheel doesn’t
work at all…

any clues?

Thx, Nehal


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


Patrick “Diablo-D3” McFarland || unknown at panax.com
"Computer games don’t affect kids; I mean if Pac-Man affected us as kids, we’d
all be running around in darkened rooms, munching magic pills and listening to
repetitive electronic music." --Kristian Wilson, Nintendo, Inc, 1989
-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20021117/a3fa506d/attachment.pgp

What kind of question is that?
yes i can scroll under IE and other programs…
does anyone have any useful info/suggestions?>Can you scroll in other apps, like IE and stuff? If you cant, there is your

answer.

On 16-Nov-2002, Nehal Mistry wrote:

Hi,

mousewheel doesn’t work for me under win9x,
only under linux…

the WM_MOUSEWHEEL message isn’t processed
under win9x, so i tried taking out the:

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

from SDL_sysevents.c … because it should work
for win98 (although it doesnt for win95) i think
this may be a bug… this line should be fixed
to include win98/ME too… i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

… anyways:
i recompiled SDL and relinked my program
again… still same result… mousewheel doesn’t
work at all…

any clues?

Thx, Nehal

maybe post the code where your trapping the mouse wheel event?> ----- Original Message -----

From: nehal@canada.com (Nehal Mistry)
To:
Sent: Sunday, November 17, 2002 10:10 AM
Subject: Re: [SDL] mousewheel support under win9x

What kind of question is that?
yes i can scroll under IE and other programs…
does anyone have any useful info/suggestions?

Can you scroll in other apps, like IE and stuff? If you cant, there is
your

answer.

On 16-Nov-2002, Nehal Mistry wrote:

Hi,

mousewheel doesn’t work for me under win9x,
only under linux…

the WM_MOUSEWHEEL message isn’t processed
under win9x, so i tried taking out the:

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

from SDL_sysevents.c … because it should work
for win98 (although it doesnt for win95) i think
this may be a bug… this line should be fixed
to include win98/ME too… i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

… anyways:
i recompiled SDL and relinked my program
again… still same result… mousewheel doesn’t
work at all…

any clues?

Thx, Nehal


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

hi, this is sample of code: scrolling with wheel
will exit program in linux, but not in win98:

(i hope it pastes correctly)====================
#include
<SDL.h>
#include
<SDL_events.h>

int main(int argc, char
**argv)
{

SDL_Event 

event;
SDL_Surface
*screen;

SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 16,
SDL_SWSURFACE);

SDL_LockSurface(screen);

for (;;) 

{

SDL_WaitEvent(&event);
if (event.type ==
SDL_MOUSEBUTTONDOWN)

exit(0);

}

}

====================

maybe post the code where your trapping the mouse wheel event?

----- Original Message -----
From: “Nehal Mistry” <@Nehal_Mistry>
To:
Sent: Sunday, November 17, 2002 10:10 AM
Subject: Re: [SDL] mousewheel support under win9x

What kind of question is that?
yes i can scroll under IE and other programs…
does anyone have any useful info/suggestions?

Can you scroll in other apps, like IE and stuff? If you cant, there is

your

answer.

On 16-Nov-2002, Nehal Mistry wrote:

Hi,

mousewheel doesn’t work for me under win9x,
only under linux…

the WM_MOUSEWHEEL message isn’t processed
under win9x, so i tried taking out the:

#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)

from SDL_sysevents.c … because it should work

for win98 (although it doesnt for win95) i think
this may be a bug… this line should be fixed
to include win98/ME too… i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

… anyways:
i recompiled SDL and relinked my program
again… still same result… mousewheel doesn’t
work at all…

any clues?

Thx, Nehal

i’ll fix it up… mozilla mail client problems…
if it still doesnt paste correctly fix it urself============
#include <SDL.h>
#include <SDL_events.h>

int main(int argc, char **argv)
{
SDL_Event event;
SDL_Surface *screen;

SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
SDL_LockSurface(screen);

for (;:wink: {
SDL_WaitEvent(&event);
if (event.type == SDL_MOUSEBUTTONDOWN)
exit(0);
}
}

hi, this is sample of code: scrolling with wheel
will exit program in linux, but not in win98:

====================
#include <SDL.h> #include <SDL_events.h>
int main(int argc, char **argv) {
SDL_Event event; SDL_Surface *screen;
SDL_Init(SDL_INIT_EVERYTHING); screen = SDL_SetVideoMode(640, 480, 16,
SDL_SWSURFACE); SDL_LockSurface(screen);
for (;:wink: { SDL_WaitEvent(&event); if (event.type ==
SDL_MOUSEBUTTONDOWN) exit(0); }
}

i dunno if
_WIN32_WINDOWS should be defined for win98 …
because it isn’t for me (im using mingw compiler)

It should (quoting MSDN):
Windows 98 _WIN32_WINDOWS >= 0x0410
Windows Me _WIN32_WINDOWS = 0x0490

…and probably
Windows 95 _WIN32_WINDOWS = 0x0400

Ciao,
Eike

Nehal Mistry wrote:

hi, this is sample of code: scrolling with wheel
will exit program in linux, but not in win98:

There seems to be something touchy going on with MinGW
recompilation of the .dll. But that’s not the whole story.

I compiled your program under MinGW/MSYS on win98.

For me it works but shows the same odd behaviour I posted
about recently (with clarifications here):

  • the very first mousewheel event shows up immediately
    (but only with the precompiled (VC?) version of the .dll)
  • subsequent mousewheel motions are not received until
    some other event (like pointer motion or key press) occurs.
  • the delay problem goes away in fullscreen mode.

Your posted program exits after the first mousewheel event,
but SDL-1.2.5/test/graywin.c can be used to test the multiple
event delay and the fullscreen mode difference.

–Jack

hi, this is sample of code: scrolling with wheel
will exit program in linux, but not in win98:

There seems to be something touchy going on with MinGW
recompilation of the .dll. But that’s not the whole story.

I compiled your program under MinGW/MSYS on win98.

For me it works but shows the same odd behaviour I posted
about recently (with clarifications here):

  • the very first mousewheel event shows up immediately
    (but only with the precompiled (VC?) version of the .dll)
  • subsequent mousewheel motions are not received until
    some other event (like pointer motion or key press) occurs.
  • the delay problem goes away in fullscreen mode.

Your posted program exits after the first mousewheel event,
but SDL-1.2.5/test/graywin.c can be used to test the multiple
event delay and the fullscreen mode difference.

–Jack

i tried with the precompiled dll, no go …
still doesn’t work for me… i dunno what it going on…
even if i get it working with dll… its something, but i cant…

Nehal

+allow post

I only get released or up events from the mouse wheels
so test with changing the code to test SDL_MOUSEBUTTONDOWN
instead.

/Dan

Nehal Mistry writes:> i’ll fix it up… mozilla mail client problems…

if it still doesnt paste correctly fix it urself

============
#include <SDL.h>
#include <SDL_events.h>

int main(int argc, char **argv)
{
SDL_Event event;
SDL_Surface *screen;

SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
SDL_LockSurface(screen);

for (;:wink: {
SDL_WaitEvent(&event);
if (event.type == SDL_MOUSEBUTTONDOWN)
exit(0);
}
}

“Dan Gudmundsson” wrote in message
news:mailman.1038059609.28431.sdl at libsdl.org

+allow post

I only get released or up events from the mouse wheels
so test with changing the code to test SDL_MOUSEBUTTONDOWN
instead.

I don’t know if that will work for Nehal, but using
SDL_MOUSEBUTTONUP doesn’t fix the delayed event queueing.

Nor does compiling entirely under VisualC, so it is not a MinGW
issue. Mousewheel events are broken in SDL-1.2.5 under win98.

[Sorry if this post duplicates - using a borrowed newsreader…]
–Jack

============
#include <SDL.h>
#include <SDL_events.h>

int main(int argc, char **argv)
{
SDL_Event event;
SDL_Surface *screen;

SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
SDL_LockSurface(screen);

for (;:wink: {
SDL_WaitEvent(&event);
if (event.type == SDL_MOUSEBUTTONDOWN)
exit(0);
}
}

This works fine for me, I’m running Windows 98 as well.
One thing that may be affecting your results. You’re not supposed to
keep the screen surface locked. Try removing that call and see if it
fixes the problem for you.

See ya!
-Sam Lantinga, Software Engineer, Blizzard Entertainment

============
#include <SDL.h>
#include <SDL_events.h>

int main(int argc, char **argv)
{
SDL_Event event;
SDL_Surface *screen;

SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 16, SDL_SWSURFACE);
SDL_LockSurface(screen);

for (;:wink: {
SDL_WaitEvent(&event);
if (event.type == SDL_MOUSEBUTTONDOWN)
exit(0);
}
}

This works fine for me, I’m running Windows 98 as well.
One thing that may be affecting your results. You’re not supposed to
keep the screen surface locked. Try removing that call and see if it
fixes the problem for you.

See ya!
-Sam Lantinga, Software Engineer, Blizzard Entertainment

Sam, do u have mingw? if u do can u test it on that please…

and if i remove the lock, the program automatically exits…
ie, the window popups for a split second, then exits…
(even if i take out the for loop)

thx, Nehal