import appuifw, e32, key_codes key_down = None clicked = None def handle_event(event): global clicked, key_down if event['type'] == appuifw.EEventKey: if key_down: key_down = (event['keycode'], "down") else: key_down = (event['keycode'], "pressed") elif event['type'] == appuifw.EEventKeyUp and key_down: code, mode = key_down if mode == "pressed": clicked = code key_down = None def key_clicked(code): global clicked if code == clicked: clicked = None return True return False def key_is_down(code): if key_down and key_down == (code, "down"): return True return False def quit(): global running running = False canvas = appuifw.Canvas(event_callback=handle_event) appuifw.app.body = canvas appuifw.app.exit_key_handler = quit running = True while running: e32.ao_sleep(0.1) if key_clicked(key_codes.EKeyUpArrow): appuifw.note(u"Arrow up was pressed") elif key_is_down(key_codes.EKey2): canvas.clear((0, 0, 255)) else: canvas.clear((255, 255, 255))