Acceleration/deceleration is no longer exponential, instead is logarithmic. Friction can be added after the key-events are dealt with.