Index: gui/components/gui_numberinput.cc =================================================================== --- gui/components/gui_numberinput.cc (リビジョン 3478) +++ gui/components/gui_numberinput.cc (作業コピー) @@ -132,6 +132,10 @@ return (wrapping && value==max_value) ? min_value : max_value; } + if(event_get_last_control_shift()==1) { + return clamp( value+1, min_value, max_value ); + } + switch( step_mode ) { // automatic linear case AUTOLINEAR: @@ -160,7 +164,11 @@ } // default value is step size default: - return clamp( ((value+step_mode)/step_mode)*step_mode, min_value, max_value ); + if(event_get_last_control_shift()==2) { + return clamp( ((value+step_mode*10)/step_mode)*step_mode, min_value, max_value ); + } else { + return clamp( ((value+step_mode)/step_mode)*step_mode, min_value, max_value ); + } } } @@ -173,6 +181,10 @@ return (wrapping && value==min_value) ? max_value : min_value; } + if(event_get_last_control_shift()==1) { + return clamp( value-1, min_value, max_value ); + } + switch( step_mode ) { // automatic linear case AUTOLINEAR: @@ -201,7 +213,11 @@ } // default value is step size default: - return clamp( value-step_mode, min_value, max_value ); + if(event_get_last_control_shift()==2) { + return clamp( value-step_mode*10, min_value, max_value ); + } else { + return clamp( value-step_mode, min_value, max_value ); + } } } @@ -275,7 +291,7 @@ case SIM_KEY_UP: case SIM_KEY_DOWN: // next/previous choice - new_value = (ev->ev_code==SIM_KEY_UP) ? get_prev_value() : get_next_value(); + new_value = (ev->ev_code==SIM_KEY_DOWN) ? get_prev_value() : get_next_value(); } if( call_textinp ) { event_t ev2 = *ev;