==== Zachytávání kláves ====
from turtle import Screen,Turtle
zelvicka = Turtle('triangle')
wn = Screen()
wn.setup(700, 700)
# Funkce pro obsluhu udalosti stisku klavesy
#  - zelvicka se zbarvi do cervena 
def obarviNaCerveno():
  zelvicka.color('red')
# - zelvicka se zbarvi na cerno  
def obarviNaCerno():
  zelvicka.color('black')
  
# Napojeni na stisk klavesy
wn.onkey(obarviNaCerveno,'Up')
wn.onkey(obarviNaCerno,'Down')
wn.listen()
# kresleni hvezdicky
for i in range(1,100):
  zelvicka.forward(200)
  zelvicka.left(261)
Navázaná je pouze událost //keydown//, neboli když jde klávesa dolů a když se operační systém rozhodne, že vám ji (stisknutou pošle).
==== Stisknutá klávesa ====
Pro většinu použití tedy potřebujeme evidenci která klávesa je stisknutá. Proto odchytáváme //keydown// - stisk a //keyup// - zvednutí. Mezi těmito událostmi považujeme klávesu za stisknutou.
Udržujeme si informaci (boolean - hodnota ''True'' nebo ''False'') o tom, zda je právě klávesa stisklá, nebo ne.
Zároveň zde používám [[mainloop|Smyčku událostí]]
from turtle import Screen,Turtle
import time
wn = Screen()
wn.setup(700, 700)
player = Turtle('triangle')
stisknutaUp = False
def stisk_klavesyUp():
  global stisknutaUp 
  stisknutaUp = True
def uvolneni_klavesyUp():
  global stisknutaUp
  stisknutaUp = False
wn.onkeypress(stisk_klavesyUp, 'Up')
wn.onkeyrelease(uvolneni_klavesyUp, 'Up')
def pohyb():
  if stisknutaUp:
    player.forward(10)
wn.listen()
while True:
  pohyb()
  #nejaky dummy pohyb
  player.left(1)
  player.right(1)