Python 诅咒获取按键

Python curses get keypress

我需要一种方法来检测箭头键和回车键。我的电脑上没有小键盘,所以这个语句正在寻找一个不存在的键:

char = window.getch()
if char == curses.KEY_ENTER:
    stdscr.addstr("'enter' key pressed")

我只想用它来获取按键:

char = window.getkey()
if char == "\n":
    stdscr.addstr("'enter' key pressed")

但我还必须使用 getch() 功能获取箭头键。有没有什么方法可以同时使用这两个函数,或者有其他方法可以获得我没有想到的两个密钥?

您可以考虑使用 keyboard 模块,与 pip install keyboard 一起安装。

从模块 GitHub example:

改编而来的类似以下内容可以帮助您前进
import keyboard

def print_pressed_keys(e):
    if e.event_type == "down":
        keys = [keyboard._pressed_events[name].name for name in keyboard._pressed_events]
        print(keys)
        if "up" in keys:
            print("do stuff for up pressed")
        elif "enter" in keys:
            print("do stuff for enter pressed")
    
keyboard.hook(print_pressed_keys)
keyboard.wait()

Black Thunder gives a good detailed description of how to use the module here.