Keypress detection

后端 未结 2 1246
清歌不尽
清歌不尽 2020-12-11 13:06

I\'ve been trying to get keypresses to be detected in a Python program. I want to find a way to do this without using Tkinter, curses, or raw_input

2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-11 13:40

    I took the liberty of editing your question slightly so it makes sense and has an answer, at least on Windows. (IDLE only interacts with your keyboard by means of the tkinter interface to tk.) On Windows, the answer is to use the msvcrt module's console io functions

    import msvcrt as ms
    
    while True:
        if ms.kbhit():
            print(ms.getch())
    

    For other systems, you will have to find the equivalent system-specific calls. For posix systems, these may be part of curses, which you said you did not to use, but I do not know.

    These functions do not work correctly when the program is run is run from IDLE in its default mode. The same may be true for other graphics-mode IDEs.

提交回复
热议问题