def handle_keyboard_event(self, event):
""" Keyboard event handler.
Wraps keyboard events into user event. Exits upon Ctrl-C.
Distinguishes key up and key down.
:param event: event to handle
"""
keys = pygame.key.get_pressed()
if (keys[pygame.K_LCTRL] or keys[pygame.K_RCTRL]) and event.key == pygame.K_c:
self.shutdown(event)
elif event.type == pygame.KEYDOWN or event.type == pygame.KEYUP:
if self.screensaver_dispatcher.saver_running:
self.screensaver_dispatcher.cancel_screensaver()
return
self.handle_event(event)
d = {}
d[KEY_SUB_TYPE] = SUB_TYPE_KEYBOARD
d[KEY_ACTION] = event.type
d[KEY_KEYBOARD_KEY] = event.key
event = pygame.event.Event(USER_EVENT_TYPE, **d)
pygame.event.post(event)
评论列表
文章目录