キーボードプレスでラズベリーパイに接続されているいくつかのモーターを制御できるようにしたい。モーターを5秒間一方向に、次にもう一方の方向を5秒間回転させるコードがあります。私はpygameのキーリスナー機能を使用して、キーボードを押すことでモーターを制御したいと考えています。私は、キーボードプレスの面で次のようなテストを行っています。Python 3のPygameキーリスナー
import pygame
pygame.init()
pygame.key.set_repeat(100, 100)
while 1:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_w:
print 'go forward'
if event.key == pygame.K_s:
print 'go backward'
if event.type == pygame.KEYUP:
print 'stop'
このスクリプトを実行すると、エラーは発生しないため、実行されていることがわかります。しかし、「w」または「s」のどちらかのキーを押すと、ちょうど入力したかのように「w」または「s」のいずれかが表示されます。私が望むのは、キーを押して機能を実行できることだけです。それを行うための異なる/より良い方法があればそれはうまくいくでしょう。
すべてが修正されました。たとえウィンドウが使われていなくても、パイゲームにウィンドウを作るように指示する必要があることは分かりませんでした。 – Jared