For people who use a null cancelling script this SHOULD work:
bind w +mfwd
bind a +mleft
bind s +mback
bind d +mright
alias +mfwd "-back;+forward;mat_filterlightmaps 0;alias checkfwd +forward"
alias +mback "-forward;+back;mat_filterlightmaps 0;alias checkback +back"
alias +mleft "-moveright;+moveleft;mat_filterlightmaps 0;alias checkleft +moveleft"
alias +mright "-moveleft;+moveright;mat_filterlightmaps 0;alias checkright +moveright"
alias -mfwd "-forward;checkback;alias checkfwd none"
alias -mback "-back;checkfwd;alias checkback none"
alias -mleft "-moveleft;checkright;alias checkleft none"
alias -mright "-moveright;checkleft;alias checkright none"
alias checkfwd none
alias checkback none
alias checkleft none
alias checkright none
alias none ""