I'm using Python 3.5 and I want to make multi-keystroke function. I want to make a function that notices Ctrl+Q but my program didn't notice it.
Here's my code:
import threading, pygame
from pygame.locals import *
from time import sleep
pygame.init()
screen = pygame.display.set_mode((1160, 640), 0, 0)
screen.fill((255, 255, 255))
pygame.display.flip()
def background():
number = 0
while True:
if number < 10:
number = number + 1
print(number)
sleep(1)
else:
print("10 seconds are over!")
break
def foreground():
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.key.get_mods() & pygame.KMOD_CTRL and pygame.K_q:
print('HELLO_WORLD')
b = threading.Thread(name='background', target=background)
f = threading.Thread(name='foreground', target=foreground)
b.start()
f.start()
I also changed
def foreground():
while True:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.key.get_mods() & pygame.KMOD_CTRL and pygame.K_q:
print('HELLO_WORLD')
to
def foreground():
while True:
key = pygame.key.get_pressed()
if key[pygame.key.get_mods() & pygame.KMOD_CTRL and pygame.K_q]:
print('HELLO_WORLD')
but it didn't notice Ctrl+Q.
How can I make it?
Here's a possible fix for your code:
import threading
import pygame
from pygame.locals import *
from time import sleep
import sys
pygame.init()
screen = pygame.display.set_mode((1160, 640), 0, 0)
screen.fill((255, 255, 255))
pygame.display.flip()
def background():
number = 0
while True:
if number < 10:
number = number + 1
print(number)
sleep(1)
else:
print("10 seconds are over!")
break
def foreground():
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if pygame.key.get_mods() & pygame.KMOD_CTRL and event.key == pygame.K_q:
print('HELLO_WORLD')
pygame.display.update()
b = threading.Thread(name='background', target=background)
b.start()
foreground()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With