Works for me.
Hold the LEFT mouse button down and click the right mouse button.
The ssLEFT is reported, because that is the shift state.
Same the other way, hold the Right mouse button down and click the left mouse button.
That reports ssRight mouse button.
So this means the buttons on the mouse that are being held down while another mouse button is clicked reports the mouse button being held down.
If you want to know the actual clicked mouse button, use the BUTTON parameter and from there, use a case statement to check the shift states.
Case Butotn of
mbMiddle:If ssLeft in state Then... else if ssright in State then ...
same for the ither mouse buttons.