Re: [Linux] Detect a key press
Jia,Lu [EMAIL PROTECTED] writes: Hi all I write a program to detect key press,but , why there is a *space* before the character I typed.?? There is none. The output I see when I type 1 2 q is: -1 -2 -q If that is what you see, the problem is in your print -%s%ch statement. It implicitly outputs '\n' at the end, and when terminal is set in raw mode, this is not translated into '\r\n' as when terminal is in canonical mode. Try print -%s\r % ch or just sys.stdout.write(ch) -- Sergei. -- http://mail.python.org/mailman/listinfo/python-list
Re: [Linux] Detect a key press
On 10/6/06, Sergei Organov [EMAIL PROTECTED] wrote: Try print -%s\r % ch or just sys.stdout.write(ch) Ah! -- http://mail.python.org/mailman/listinfo/python-list
[Linux] Detect a key press
Hi all I write a program to detect key press,but , why there is a *space* before the character I typed.?? #!/usr/bin/env python import sys import tty import termios i = sys.stdin.fileno() o = sys.stdout.fileno() backup = termios.tcgetattr(i) def loop(): while 1: ch = sys.stdin.read(1) print -%s%ch if ch == 'q':break try: tty.setraw(i) loop() finally: termios.tcsetattr(i, termios.TCSADRAIN, backup) -- http://mail.python.org/mailman/listinfo/python-list
Re: [Linux] Detect a key press
On 5 Oct 2006 21:45:47 -0700, Jia,Lu [EMAIL PROTECTED] wrote: Hi all I write a program to detect key press,but , why there is a *space* before the character I typed.?? Puzzles me too, but I know this is really easy in Curses (on top of that, it isn't specific to Linux; curses works on many terminals) http://www.amk.ca/python/howto/curses/ -- Theerasak -- http://mail.python.org/mailman/listinfo/python-list