Если вы хотите проверить, была ли нажата клавиша на клавиатуре, вы можете использовать следующие константы ;
K_KP0 keypad 0
K_KP1 keypad 1
K_KP2 keypad 2
K_KP3 keypad 3
K_KP4 keypad 4
K_KP5 keypad 5
K_KP6 keypad 6
K_KP7 keypad 7
K_KP8 keypad 8
K_KP9 keypad 9
K_KP_PERIOD . keypad period
K_KP_DIVIDE / keypad divide
K_KP_MULTIPLY * keypad multiply
K_KP_MINUS - keypad minus
K_KP_PLUS + keypad plus
K_KP_ENTER \r keypad enter
K_KP_EQUALS = keypad equals
Вы бы использовали event.key >= 0x100 and event.key <= 0x109
для проверки K_KP0
, K_KP1
, ... K_KP9
, потому что K_KP0
- это 256
в десятичном виде и 0x100
в шестнадцатеричном, K_KP9
- 265
в десятичном и 0x109
в шестнадцатеричном и т. д.
Кроме того, для удобства чтения было бы лучше использовать константы вместо шестнадцатеричных литералов.
Вот простой пример того, как проверить все номера клавиатуры или клавишу возврата клавиатуры:
import pygame
screen = pygame.display.set_mode((300, 300))
while True:
for e in pygame.event.get():
if e.type == pygame.QUIT:
quit()
if e.type == pygame.KEYDOWN:
if pygame.K_KP0 <= e.key <= pygame.K_KP9:
print('Numpad 0-9')
if e.key == pygame.K_KP_ENTER:
print('Numpad ENTER')
Ваш код
if (event.key >= 0x100 and event.key <= 0x109 and event.key == pygame.K_RETURN):
не будет работать, поскольку event.key
не может быть больше 256
, меньше 265
и равно 13
одновременно (K_RETURN
равно 13
).