1
0
forked from 0ad/0ad

Support horizontal scroll wheels for camera rotation

This was SVN commit r8582.
This commit is contained in:
Ykkrosh 2010-11-13 01:00:54 +00:00
parent e1aaedcc32
commit 25cd781641
5 changed files with 12 additions and 4 deletions

View File

@ -118,8 +118,8 @@ hotkey.camera.rotate.up = "Ctrl+UpArrow", "Ctrl+W" ; Rotate camera to loo
hotkey.camera.rotate.down = "Ctrl+DownArrow", "Ctrl+S" ; Rotate camera to look downwards
hotkey.camera.rotate.cw = "Ctrl+LeftArrow", "Ctrl+A", Q ; Rotate camera clockwise around terrain
hotkey.camera.rotate.ccw = "Ctrl+RightArrow", "Ctrl+D", E ; Rotate camera anticlockwise around terrain
hotkey.camera.rotate.wheel.cw = "Shift+WheelUp" ; Rotate camera clockwise around terrain (stepped control)
hotkey.camera.rotate.wheel.ccw = "Shift+WheelDown" ; Rotate camera clockwise around terrain (stepped control)
hotkey.camera.rotate.wheel.cw = "Shift+WheelUp", MouseX1 ; Rotate camera clockwise around terrain (stepped control)
hotkey.camera.rotate.wheel.ccw = "Shift+WheelDown", MouseX2 ; Rotate camera clockwise around terrain (stepped control)
hotkey.camera.pan = MouseMiddle, ForwardSlash ; Enable scrolling by moving mouse
hotkey.camera.left = A, LeftArrow ; Scroll or rotate left
hotkey.camera.right = D, RightArrow ; Scroll or rotate right

View File

@ -180,13 +180,17 @@ enum SDL_MouseButtonEvent_button
SDL_BUTTON_MIDDLE = 2,
SDL_BUTTON_RIGHT = 3,
SDL_BUTTON_WHEELUP = 4,
SDL_BUTTON_WHEELDOWN = 5
SDL_BUTTON_WHEELDOWN = 5,
SDL_BUTTON_X1 = 6,
SDL_BUTTON_X2 = 7
};
#define SDL_BUTTON(b) (1u << (b-1))
#define SDL_BUTTON_LMASK SDL_BUTTON(SDL_BUTTON_LEFT)
#define SDL_BUTTON_MMASK SDL_BUTTON(SDL_BUTTON_MIDDLE)
#define SDL_BUTTON_RMASK SDL_BUTTON(SDL_BUTTON_RIGHT)
#define SDL_BUTTON_X1MASK SDL_BUTTON(SDL_BUTTON_X1)
#define SDL_BUTTON_X2MASK SDL_BUTTON(SDL_BUTTON_X2)
enum SDL_MouseButtonEvent_state
{

View File

@ -178,7 +178,7 @@ InReaction HotkeyInputHandler( const SDL_Event_* ev )
break;
case SDL_MOUSEBUTTONDOWN:
case SDL_MOUSEBUTTONUP:
if ((int)ev->ev.button.button <= SDL_BUTTON_WHEELDOWN)
if ((int)ev->ev.button.button <= SDL_BUTTON_X2)
{
keycode = SDLK_LAST + (int)ev->ev.button.button;
break;

View File

@ -281,6 +281,8 @@ static SKeycodeMapping keycodeMapping[] =
{ MOUSE_MIDDLE, "Middle Mouse Button", "MouseMiddle" },
{ MOUSE_WHEELUP, "Mouse Wheel Up", "WheelUp" },
{ MOUSE_WHEELDOWN, "Mouse Wheel Down", "WheelDown" },
{ MOUSE_X1, "Mouse X1", "MouseX1" },
{ MOUSE_X2, "Mouse X2", "MouseX2" },
{ UNIFIED_SHIFT, "Shift", "AnyShift" },
{ UNIFIED_CTRL, "Ctrl", "AnyCtrl" },
{ UNIFIED_ALT, "Alt", "AnyAlt" },

View File

@ -34,6 +34,8 @@ enum {
MOUSE_MIDDLE = SDLK_LAST + SDL_BUTTON_MIDDLE,
MOUSE_WHEELUP = SDLK_LAST + SDL_BUTTON_WHEELUP,
MOUSE_WHEELDOWN = SDLK_LAST + SDL_BUTTON_WHEELDOWN,
MOUSE_X1 = SDLK_LAST + SDL_BUTTON_X1,
MOUSE_X2 = SDLK_LAST + SDL_BUTTON_X2,
// 'Keycodes' for the unified modifier keys
UNIFIED_SHIFT,