This isn't the best approach, but after all night of trial and error, I got the
functionality I was looking for with the following code:
if event.type == KEYDOWN:
if event.key in (K_UP, K_DOWN, K_LEFT, K_RIGHT):
self.player.move_keys.append(pygame.key.name(event.key))
self.player.move = self.player.move_keys[-1]
if event.type == KEYUP:
if event.key in (K_UP, K_DOWN, K_LEFT, K_RIGHT):
del self.player.move_keys[-1]
if not len(self.player.move_keys) == 0:
if not self.player.move_keys[-1] ==
pygame.key.name(event.key):
self.player.move = self.player.move_keys[-1]
else:
self.player.move = False