diff --git a/src/gui/piano_roll.cpp b/src/gui/piano_roll.cpp index e81c6572a..030c9fe48 100644 --- a/src/gui/piano_roll.cpp +++ b/src/gui/piano_roll.cpp @@ -1765,7 +1765,15 @@ void pianoRoll::computeSelectedNotes(bool shift) pos_ticks + len_ticks > sel_pos_start && pos_ticks < sel_pos_end ) { - ( *it )->setSelected( true ); + // remove from selection when holding shift + if( shift && ( *it )->selected() ) + { + ( *it )->setSelected(false); + } + else + { + ( *it )->setSelected(true); + } } } }