Če je "scene.kb.keys" različen od nič, je bila pritisnjena vsaj ena tipka na tipkovnici. Dogodki s tipkovnico so shranjeni in jih lahko obdelamo.
Vhod iz tipkovnice dobimo stipka = scene.kb.getkey() |
Če je "len(key) == 1", obravnavamo klik na enostavno tipko, kot je na primer črka 'b' ali 'B' ali skok v novo vrstico ('\n') ali tabulator ('\t'). Sicer pa je je to bila tipka z več znaki, kot na primer 'escape' ali 'backspace' ali 'f3'. Pri teh klikih je namreč v predponi še ena od tipk ctrl, alt oziroma shift. Če smo na primer tiščali tipko shift in kliknili na F3, je tipka pomnjena kot niz 'shift+f3'. Če smo kliknili na tri tipke, dobimo na primer niz 'ctrl+alt+shift+f3'.
Primer preskusnega programa: To kar tipkamo, bo vpisano v oznako:
besedilo = label()
# sprva je oznaka prazna while 1: if scene.kb.keys: # ali moramo obravnavati kaksno tipko? s = scene.kb.getkey() # katera tiipka je to bila? if len(s) == 1: besedilo.text += s # dodamo novi znak elif (s == 'backspace' or s == 'delete') and len(besedilo.text) > 0: besedilo.text = besedilo.text[:-1] # brisanje ene crke elif s == 'shift+delete': besedilo.text = '' # brisanje celotnega besedila |
Podatke o tipkah lahko dajo tudi mišji dogodki, s katerimi lahko spremenimo akcije z miško.
Seveda lahko uporabljamo tudiu standardno Pythonovo funkcijo raw_input(). Primer uporabe:
besedilo = raw_input('Natipkaj nekaj: ') |