-
Sam Lantinga authored
Matthias 2011-03-20 23:07:02 PDT On X11, SDL 1.3 does not generate a mouse wheel event. Instead, button down/buttton up events are generated by SDL. After looking at the code in SDL_x11events.c, I assume this is due to the fact that X11 does not have a dedicated mouse wheel event. I did a little research on the behavior of mouse wheel events on X11 systems. Apparently, mouse wheel events generate a button down/button up event with the same time, i.e. with exact same timestamp. Attached you can find my changes to SDL_x11events.c, which generates SDL mouse wheel events for those button down events that have a button release event immediately following it (for the same button, and with the same timestamp). I did have to make an assumption: As standard X11 implementations know only 5 buttons, I have mapped Button4 to "wheel up" (i.e. +1), and Button5 to "wheel down" (i.e. -1). Note that if you include this patch, no SDL button down/up events will be generated on X11 platforms for mouse wheel events (which is probably a significant change for those that have programmed their code to work with them).
65b0f309
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
atomic | ||
audio | ||
core | ||
cpuinfo | ||
events | ||
file | ||
haptic | ||
joystick | ||
libm | ||
loadso | ||
main | ||
power | ||
render | ||
stdlib | ||
thread | ||
timer | ||
video | ||
SDL.c | ||
SDL_assert.c | ||
SDL_assert_c.h | ||
SDL_compat.c | ||
SDL_error.c | ||
SDL_error_c.h | ||
SDL_fatal.c | ||
SDL_fatal.h | ||
SDL_hints.c | ||
SDL_log.c |