diff --git a/src/display.cpp b/src/display.cpp index 80de8d513..0cae7a0f5 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -482,8 +482,8 @@ void Mouse( int button_raw, int state, int x, int y) last_x = (float)x; last_y = (float)y; - - const MouseButton button = (MouseButton)(1 << button_raw); + + const MouseButton button = (MouseButton)(1 << (button_raw&0x7) ); const bool pressed = (state == 0); context->had_input = context->is_double_buffered ? 2 : 1; diff --git a/src/display_glut.cpp b/src/display_glut.cpp index 8a1d08ed3..46407329a 100644 --- a/src/display_glut.cpp +++ b/src/display_glut.cpp @@ -106,7 +106,8 @@ void CreateGlutWindowAndBind(std::string window_title, int w, int h, unsigned in glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_GLUTMAINLOOP_RETURNS); #endif - glutIgnoreKeyRepeat(true); + // TODO: Need to implement our own key-repeat mechanism + //glutIgnoreKeyRepeat(true); context->is_double_buffered = (mode & GLUT_DOUBLE) != 0; TakeGlutCallbacks(); diff --git a/src/plotter.cpp b/src/plotter.cpp index 88c4b1938..9a8e33e25 100644 --- a/src/plotter.cpp +++ b/src/plotter.cpp @@ -968,7 +968,11 @@ void Plotter::Special(View&, InputSpecial inType, float x, float y, float p1, fl float scalex = 1.0; float scaley = 1.0; +#ifdef _OSX_ if(button_state & KeyModifierCmd) { +#else + if (button_state & KeyModifierCtrl) { +#endif scalex = 1-p1; }else{ scaley = 1-p1;