I'm not sure if anyone will write the code for you. It's too broad a question.
You need to acquire a basic understanding of Python programming first, otherwise you'll be forever asking questions.
Personally I'd use the Python curses module (import curses) to handle keyboard entry. There are example of using curses within pigpio at http://abyz.co.uk/rpi/pigpio/code/gpio_status_py.zip and http://abyz.co.uk/rpi/pigpio/code/PCF8591.zip.
On the servo speed. Generally the speed of continuous rotation servos is controlled by the pulse width. 1500µs is the dead band and means stop (perhaps controlled by a trimming screw in the servo housing). As you increase the pulse width to 2000µs the servo goes faster and faster in one direction. As you decrease the pulse width to 1000µs the servo goes faster and faster in the other direction.
1000µs 1250µs 1500µs 1750µs 2000µs
fastest fast stop fast fastest
anti- anti- clockwise clockwise
clockwise clockwise