最近、この質問がpyglet-usersグループで尋ねられましたが、レスポンスを得ましたので、ここで試してみます。Pygletで新しい入力イベントディスパッチャーを作成する(赤外線入力)
lircでサポートされている赤外線入力デバイスを使用できるようにPygletを拡張したいと考えています。私はPyGameで(http://pylirc.mccabe.nu/)の前にpyLircを使っていましたが、代わりにPygletを使うようにアプリケーションを書き直したいと思います。
ボタンが押されたかどうかを確認するには、通常、pyLircをポーリングしてそのキューにボタンが押されているかどうかを確認します。
私の質問は、PyLircを統合するPygletの正しい方法は何ですか?
現在のウィンドウのキーボード/マウスイベントと同じであれば好きですが、どこから開始するのかはわかりません。
私はイベントの 新しいタイプを登録し、そのように、ポーリング後にそれらを派遣することが可能な、私は新しいのEventDispatcherを作成することができます知っている:
class pyLircDispatcher(pyglet.event.EventDispatcher):
def poll(self):
codes = pylirc.nextcode()
if codes is not None:
for code in codes:
self.dispatch_event('on_irbutton', code)
def on_irbutton(self, code):
pass
しかし、どのように、私は、アプリケーションのメインにすることを統合します私がpyglet.app.run()を使用していて、マウスとキーボードのディスパッチャーと同じように動作するように、このイベントディスパッチャーを私のウィンドウに接続するにはどうすればいいですか?
私は、pyglet.clock.schedule_intervalで定期的にpoll()を呼び出すスケジューラを設定できますが、これは正しい方法ですか?