Как сделать сочетание клавиш

Как сделать сочетание клавиш левый LCTRL + BACKSPACE в pygame.


Ответы (1 шт):

Автор решения: gil9red

Используйте pygame.event.get() для отлова события нажатия кнопки pygame.KEYDOWN, определения нажатой кнопки через сравнение с event.key и pygame.key.get_mods(), чтобы узнать какая клавиша модифицирования нажата

Пример:

import pygame
import pygame.locals

pygame.init()

screen = pygame.display.set_mode((300,200))

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False
            elif event.key == pygame.K_BACKSPACE and pygame.key.get_mods() & pygame.KMOD_LCTRL:
                print("pressed: LCTRL + BACKSPACE")

pygame.quit()

Второй вариант через pygame.key.get_pressed.

Пример:

import pygame
import pygame.locals

pygame.init()

screen = pygame.display.set_mode((300, 200))

running = True

while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            keys = pygame.key.get_pressed()

            if event.key == pygame.K_ESCAPE:
                running = False

            elif keys[pygame.K_BACKSPACE] and keys[pygame.K_LCTRL]:
                print("pressed: LCTRL + BACKSPACE")

pygame.quit()
→ Ссылка