2016-08-07 9 views
0

これは私のラズベリーパイにssh経由で実行しようとしているコードです。キーボードとモニタをラズベリーパイに直接接続しても正常に動作しますが、sshを使用しているときは動作しません。 ファイル "testing_joystick.py"、47行、 でのイベントのためpygame.event.getで(): pygameのイベントのpygame.event.get():pygame.error:ビデオシステムがsshを使用して初期化されていない

import pygame, sys, time 
from pygame.locals import * 

pygame.init() 
pygame.joystick.init() 
joystick = pygame.joystick.Joystick(0) 
joystick.init() 
#screen = pygame.display.set_mode((400,300)) 
#pygame.display.set_caption('Hello World') 

interval = 0.01 

# get count of joysticks=1, axes=27, buttons=19 for DualShock 3 

joystick_count = pygame.joystick.get_count() 
print("joystick_count") 
print(joystick_count) 
print("--------------") 

numaxes = joystick.get_numaxes() 
print("numaxes") 
print(numaxes) 
print("--------------") 

numbuttons = joystick.get_numbuttons() 
print("numbuttons") 
print(numbuttons) 
wprint("--------------") 

loopQuit = False 
while loopQuit == False: 

    # test joystick axes 
    # outstr = "" 
    # for i in range(0,4): 
    #  axis = joystick.get_axis(i) 
    #  outstr = outstr + str(i) + ":" + str(axis) + "|" 
    # print(outstr) 

    # test controller buttons 
    outstr = "" 
    for i in range(0,numbuttons): 
     button = joystick.get_button(i) 
     outstr = outstr + str(i) + ":" + str(button) + "|" 
    print(outstr) 

    for event in pygame.event.get(): 
     if event.type == QUIT: 
      loopQuit = True 
     elif event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_ESCAPE: 
       loopQuit = True 

私は取得していますエラーが トレースバック(最後の最新の呼び出し)です。エラー:ビデオシステムが初期化されていません

このエラーを回避する方法を教えてもらえますか?

答えて

0

まだウィンドウを初期化していません。あなたがコメントしているかもしれないし、コメントしていないかもしれないようだ:#screen = pygame.display.set_mode((400, 300))。パイゲのイベントの多くはウィンドウに依存しています。単に画面の初期化をコメント解除してもうまくいくはずです。

+0

私はモニターとキーボードをPiに直接接続してもうまく動作することがわかりました。しかし、sshでは動作しません。私のプログラムはこの時点では画面を全く使わないので、私がコメントしたときにも同じエラーが出るのでコメントしました。私の端末がssh経由でPiに接続されている場合、何か特別な処理をする必要がありますか? – Windell

+0

piの意味はどうですか? –

+0

私のお詫び、Piさんはラズベリーパイを意味しました – Windell

関連する問題