Support horizontal scroll wheels for camera rotation
This was SVN commit r8582.
This commit is contained in:
parent
e1aaedcc32
commit
25cd781641
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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" },
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user