I see 2 ways to do this WITHOUT ADDING CONTROLS
1- Inertia
it takes some time to accelerate, and some to descelerate (not the best one)
2-
Each time you hit the shift button while pressing the forward button makes you go one speed higher... and you retain that speed until you let go of the shift button
Jog-Run-Dash-Mad Dash-Demesurate speed(just kidding)
and as to add a sneak speed... why not make it that when you pressing both back and forward at the same time you sneak?
the strafing speed needs to be reduced when running too
1- Inertia
it takes some time to accelerate, and some to descelerate (not the best one)
2-
Each time you hit the shift button while pressing the forward button makes you go one speed higher... and you retain that speed until you let go of the shift button
Jog-Run-Dash-Mad Dash-Demesurate speed(just kidding)
and as to add a sneak speed... why not make it that when you pressing both back and forward at the same time you sneak?
the strafing speed needs to be reduced when running too