Issue 2058 Enhancement:

Extend selection with Shift keys -- You said differentiate in
OnSelectionStart method so I couldn't find any other way but to remove
enforced drag on Shift and moved most of the code to OnSelectionStart.