3
私は、Linuxシステムに接続されたHIDからの入力を受け取り、それらからMIDIを生成するプログラムを実行したいと思います。私はMIDI側では大丈夫ですが、私は物事のHID側で苦労しています。このアプローチは、[OK]を動作しますが(hereから撮影):Python HIDを読む
#!/usr/bin/python2
import struct
inputDevice = "/dev/input/event0" #keyboard on my system
inputEventFormat = 'iihhi'
inputEventSize = 16
file = open(inputDevice, "rb") # standard binary file input
event = file.read(inputEventSize)
while event:
(time1, time2, type, code, value) = struct.unpack(inputEventFormat, event)
print type,code,value
event = file.read(inputEventSize)
file.close()
それはイベントがたくさんありますCPU使用率の高くなります。特にマウスを追跡する場合、大きな動きは私のシステム上でほぼ50%のCPUを要する。私は、whileがどのように構造化されているかのために推測します。
ので、Pythonでこれを行うには良い方法はありますか?私は、このコードを配布して現代のディストリビューションで作業できるようにしたいので、保守されていないライブラリや古いライブラリを使用しないことをお勧めします(最終的な依存関係は、エンドユーザのパッケージマネージャーで簡単に利用できます)