I have a similar setup, except I alternate the function of the left mouse button..
e.g
alias +qsng "impulse 5 4 3 2; +attack"
alias -qsng "-attack; impulse 2"
alias +qssg "impulse 3 5 4 2; +attack"
alias -qssg "-attack; impulse 2"
alias +qrocket "impulse 7 6 5 4 3 2; +attack"
alias -qrocket "-attack; impulse 2"
alias +qnade "impulse 6 5 4 3 2; +attack"
alias -qnade "-attack; impulse 2"
alias +qshaft "impulse 8 7 6 5 4 3 2; +attack"
alias -qshaft "-attack; impulse 2"
bind w +forward
bind s +back
bind a +moveleft
bind d +moveright
bind mouse2 +jump
bind mouse4 +qnade
bind mouse3 +qrocket
bind r "bind mouse1 +qssg"
bind space "bind mouse1 +qshaft"
bind shift "bind mouse1 +qsng"
Works for me