How to accept keypress in command line python?

keyboard, keypress, python

Solution

A simple curses example. See the docs for the curses module for details.

import curses
stdscr = curses.initscr()
curses.cbreak()
stdscr.keypad(1)

stdscr.addstr(0,10,"Hit 'q' to quit")
stdscr.refresh()

key = ''
while key != ord('q'):
    key = stdscr.getch()
    stdscr.addch(20,25,key)
    stdscr.refresh()
    if key == curses.KEY_UP: 
        stdscr.addstr(2, 20, "Up")
    elif key == curses.KEY_DOWN: 
        stdscr.addstr(3, 20, "Down")

curses.endwin()

Problem

Possible Duplicate: Python read a single character from the user I am looking to be able to control a robot with the arrow keys using python. And my idea was to implement code that looked something like this... ``` #!/usr/bin/env python # control a robot using python exit = 0 while exit == 0: keypress = ##get keypress, if no key is pressed, continue## if keypress == 'q': exit = 1 break elif keypress == KEY_UP: ##robot move forward## elif keypress == KEY_DOWN: ##robot move backward## print "DONE" ``` However the problem is that I do not know how to get the users input. And I cannot use a GUI based solution like pygame from what I have found because the robot does not use a display. Any help is very much appreciated!!

Original source

Related problems