Tastendruck erkennen
Verfasst: Dienstag 17. August 2021, 03:19
Hallo allerseits,
ich habe hier ein kleines Programmbeispiel, um während der Laufzeit auf einen Tastendruck zu reagieren.
Das läuft unter Python2 ohne zu meckern. Unter Python3 wirft es folgende Fehlermeldung:
Traceback (most recent call last):
File "/home/peter/Downloads/inkeys.py", line 19, in <module>
key = inkey()
File "/home/peter/Downloads/inkeys.py", line 12, in inkey
remember_attributes=termios.tcgetattr(fd)
termios.error: (25, 'Inappropriate ioctl for device')
Erwartet Python3 hier eine andere Syntax oder funktioniert die im Programm angewandte
Vorgehensweise in Python3 gar nicht?
ich habe hier ein kleines Programmbeispiel, um während der Laufzeit auf einen Tastendruck zu reagieren.
Code: Alles auswählen
import sys
import termios
import tty
inkey_buffer = 1
def inkey():
fd=sys.stdin.fileno()
remember_attributes=termios.tcgetattr(fd)
tty.setraw(sys.stdin.fileno())
character=sys.stdin.read(inkey_buffer)
termios.tcsetattr(fd,termios.TCSADRAIN, remember_attributes)
return character
while True:
key = inkey()
if key == '*':
print('ja')
if key == 'q':
break
print('bye')
Traceback (most recent call last):
File "/home/peter/Downloads/inkeys.py", line 19, in <module>
key = inkey()
File "/home/peter/Downloads/inkeys.py", line 12, in inkey
remember_attributes=termios.tcgetattr(fd)
termios.error: (25, 'Inappropriate ioctl for device')
Erwartet Python3 hier eine andere Syntax oder funktioniert die im Programm angewandte
Vorgehensweise in Python3 gar nicht?