If you aren't already using a movement type I would use lerp()
If you aren't familiar with lerp() it is actually pretty simple. lerp(position1, position2, progress) -> progress should be between 0 and 1 where 0 = position 1 and 1 = position 2.
So I would have an instance variable of progress and speed. Then Left and Right I use below are the farthest left you want the player to go and the farthest right you want the player to go.
Events would be:
Every tick -> Add Speed to Progress; set position to lerp(Left, Right, progress)
--Progress <= 0 then progress = 0
--Progress >= 1 then progress = 1
--Speed > min speed then reduce speed by ?
Every button press
--Speed < max speed then increase speed by ?
Your speed is going to be very small because a speed of 1 would move from left to right side of screen in one tick. Even a speed of 0.1 is too high. Maybe have max speed be 0.02 and min speed be -0.02; increase on button press 0.001 and decrease every tick 0.0001. ...those are just educated guesses though from math in my head, so may be way off.
If you are confused could throw together a capx but probably not anytime to soon... hope this helps