support for mouse buttons 4 and 5:

* keys.h: add KMOUSE4 and K_MOUSE5 defines after K_MWHEELDOWN
* keys.c: add KMOUSE4 and K_MOUSE5 to the keynames table.
* main_sdl.c: handle SDL_BUTTON_X1 and SDL_BUTTON_X2 for mouse
button events.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@407 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
Ozkan Sezer 2011-02-10 16:10:53 +00:00
parent f707439e86
commit 69bdb0855e
3 changed files with 12 additions and 0 deletions

View File

@ -119,6 +119,8 @@ keyname_t keynames[] =
{"MOUSE1", K_MOUSE1}, {"MOUSE1", K_MOUSE1},
{"MOUSE2", K_MOUSE2}, {"MOUSE2", K_MOUSE2},
{"MOUSE3", K_MOUSE3}, {"MOUSE3", K_MOUSE3},
{"MOUSE4", K_MOUSE4},
{"MOUSE5", K_MOUSE5},
{"JOY1", K_JOY1}, {"JOY1", K_JOY1},
{"JOY2", K_JOY2}, {"JOY2", K_JOY2},

View File

@ -139,6 +139,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define K_MWHEELUP 239 #define K_MWHEELUP 239
#define K_MWHEELDOWN 240 #define K_MWHEELDOWN 240
// thumb buttons
#define K_MOUSE4 241
#define K_MOUSE5 242
typedef enum {key_game, key_console, key_message, key_menu} keydest_t; typedef enum {key_game, key_console, key_message, key_menu} keydest_t;

View File

@ -130,6 +130,12 @@ int main(int argc, char *argv[])
case SDL_BUTTON_WHEELDOWN: case SDL_BUTTON_WHEELDOWN:
Key_Event(K_MWHEELDOWN, event.button.type == SDL_MOUSEBUTTONDOWN); Key_Event(K_MWHEELDOWN, event.button.type == SDL_MOUSEBUTTONDOWN);
break; break;
case SDL_BUTTON_X1:
Key_Event(K_MOUSE4, event.button.type == SDL_MOUSEBUTTONDOWN);
break;
case SDL_BUTTON_X2:
Key_Event(K_MOUSE5, event.button.type == SDL_MOUSEBUTTONDOWN);
break;
} }
break; break;
case SDL_KEYDOWN: case SDL_KEYDOWN: