Keyboard 使用帧缓冲区时的Pygame抓取控制台输入
我有一个树莓圆周率与皮夫特模块。我想使用Pygame来显示使用帧缓冲区(不带X)的模块信息。我有所有的显示功能,但问题是pygame正在从键盘抓取输入,所以我甚至不能用alt 1-7更改终端 此任务应该在后台运行,因此这不是期望的行为。但是我找不到任何方法来禁用它。它看起来像pygame.event.set_grab()可能是合适的,但没有帮助。下面是我的代码的简化版本,它显示了相同的问题Keyboard 使用帧缓冲区时的Pygame抓取控制台输入,keyboard,pygame,raspberry-pi,framebuffer,Keyboard,Pygame,Raspberry Pi,Framebuffer,我有一个树莓圆周率与皮夫特模块。我想使用Pygame来显示使用帧缓冲区(不带X)的模块信息。我有所有的显示功能,但问题是pygame正在从键盘抓取输入,所以我甚至不能用alt 1-7更改终端 此任务应该在后台运行,因此这不是期望的行为。但是我找不到任何方法来禁用它。它看起来像pygame.event.set_grab()可能是合适的,但没有帮助。下面是我的代码的简化版本,它显示了相同的问题 import os import pygame import time from time import
import os
import pygame
import time
from time import gmtime,strftime,localtime
class pytest :
screen = None
def __init__(self):
os.environ["SDL_FBDEV"] = "/dev/fb1"
try:
pygame.display.init()
except pygame.error:
print 'Init failed.'
size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
pygame.event.set_grab(0)
pygame.font.init()
self.font = pygame.font.SysFont("", 30)
def __del__(self):
"Destructor to make sure pygame shuts down, etc."
def test(self):
lightblue = (92, 92, 176)
self.screen.fill(lightblue)
tm=time.strftime("%H:%M:%S",localtime())
t=self.font.render(tm,1,(255,255,155))
self.screen.blit(t,(240,00))
pygame.display.update()
scope = pytest()
while 1:
scope.test()
pygame.event.pump()
time.sleep(1)