I used WindowKeyPressFcn and WindowKeyRelease fcn in parallel to WindowButtonDownFcn and I am able to distinguish all combinations of modifiers and mouse buttons.
In WindowKeyPressFcn(src,evt) I just set a flag (ModifierPresent=true) and ModifierName=evt.Key.
In WindowKeyReleaseFcn(src,evt) I just set a flag (ModifierPresent=false) and ModifierName=' '.
In WindowButtonDownFcn I query(src,'SelectionType') and check if(ModifierPresent) then ModifierName tells which modifier is used...
Is there any simple way?