Pygame 在 Pi 运行 上通过 Putty,没有屏幕,没有输入

Pygame on Pi running through Putty, no screen, no input

我正在尝试使用 Pygame 和 Python 2.7 来控制连接到 Raspberry Pi 的 Roomba。我通过 Putty 连接到 Pi 并通过 Putty 控制台控制它。 我遇到的问题是我无法显示 Pygame 显示器,并且 Pygame 键盘输入仅在 Pygame 屏幕具有焦点时有效。 代码运行时没有 window 打开,Putty 的控制台就在那里。有没有办法这样打开Pygamewindow?

我有不使用 Pygame 的工作代码,但它使用 getch 进行输入,因此您只能通过传入的字符切换移动,当您停止按住时无法让它停止移动按下键。

这是我的基本代码,我只是试图让 Pygame 在我按下某个键时执行任何操作:

import pygame, sys
from pygame.locals import *

pygame.init()

screen = pygame.display.set_mode((600, 400))
pygame.display.flip()

while 1:
key=pygame.key.get_pressed()
if key[pygame.K_w]:print'w'

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        sys.exit()
    elif event.type == KEYDOWN and event.key == K_ESCAPE:
        sys.exit()
    elif event.type == KEYDOWN and event.key == K_s:
        print's'

听起来你需要 运行 Pygame "headless":

http://pygame.org/wiki/HeadlessNoWindowsNeeded

import os
import pygame.display

os.environ["SDL_VIDEODRIVER"] = "dummy" # or maybe 'fbcon'
pygame.display.init()
screen = pygame.display.set_mode((1,1))

这个答案也可能有用:

请注意,这些需要键盘直接连接到 Raspberry Pi 本身 - 而不是您 运行ning PuTTY 来自的计算机。

如果这是您真正想要的,这里的方法可能会有用: