Přiřazení akce klávese v Pythonu 3

Host

Přiřazení akce klávese v Pythonu 3
« kdy: 11. 06. 2015, 11:02:10 »
Ahoj, pomůže někdo prosím? jedná se mi o všechny klávesy na klávesnici a to pomocí základních funkcí/modulů. Našel jsem jen nějaký modul se jménem curses, ale doc není napsaný lehce k pochopení, navíc sebou nese pro začátečníka obrovské problémy (a možná, že nejenom pro něj) jako jsou třeba rozhození terminálu při ukončení, místo linek/rámečků nesmyslné znaky, při změně velikosti terminálu okamžitý pád aplikace, nejde zafixovat pevné rozměry okna, česká podpora 0 atd... Díky za pomoc.
« Poslední změna: 11. 06. 2015, 11:38:15 od Petr Krčmář »


ue

Re:Přiřazení akce klávese v Pythonu 3
« Odpověď #1 kdy: 11. 06. 2015, 17:02:56 »
Nezkoušel jsem, ale co toto https://github.com/SavinaRoja/PyUserInput.

nmvki

Re:Přiřazení akce klávese v Pythonu 3
« Odpověď #2 kdy: 12. 06. 2015, 03:40:29 »
Tak pokud jde jen o to dostávat klávesy, tak v C bych použil termios.h, což je i v POSIXu nebo tak něco. Zřejmě to existuje i pro Pyton: https://docs.python.org/2/library/termios.html. Vypnout čtení po řádcích a tak a pak volat funkce z "hlavního" cyklu.

Re:Přiřazení akce klávese v Pythonu 3
« Odpověď #3 kdy: 25. 06. 2015, 17:48:25 »
Takhle to lze řešit pro GUI Tkinter.
Odchytávají se jen události klávesnice nad daným oknem.


from Tkinter import *

hlavni = Tk()

def klavesa(udalost):
    print u"stisknuto", repr(udalost.char)

ramec = Frame(hlavni, width=100, height=100)
ramec.bind("<Key>", klavesa)
ramec.pack()

ramec.focus_set()
hlavni.mainloop()