You're using lots of separate and/or nested If statements for checking key presses. I'd actually use one overarching If statement with lots of ElseIf for checking key presses. Pseudocode:
If KeyDown(1)
(handle walking)
ElseIf KeyDown(2)
(handle running)
ElseIf KeyDown(3)
(handle turning)
Else
(idle)
EndIf
If KeyDown(1)
(handle walking)
ElseIf KeyDown(2)
(handle running)
ElseIf KeyDown(3)
(handle turning)
Else
(idle)
EndIf