I need a way to detect both the arrow keys and the enter key. I don't have a numpad on my computer, so this statement is looking for a key that doesn't exist:
char = window.getch()
if char == curses.KEY_ENTER:
stdscr.addstr("'enter' key pressed")
I would just use this to get the keypress:
char = window.getkey()
if char == "\n":
stdscr.addstr("'enter' key pressed")
but I also have to get the arrow keys, with the getch()
function. Is there any way I could use these two functions together, or another way that can get both keys that I haven't thought of?
You could look at using the keyboard
module, installed with pip install keyboard
.
Something like the following could get you going, adapted from the modules 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.