我正在编写一个Python脚本,它将使用串口与Arduino通信。 Arduino将实现一个简单的音乐键盘。
所以期望的行为是:
答案 0 :(得分:1)
对于键盘输入的单个字符,请阅读this article。
如果你真的想要坚韧不拔,最好用pygtk左右制作一个小的GUI。在那里,您可以轻松访问按键,键盘释放事件。它可以用很少的代码完成。
在串口端,我想到了PySerial - 这样可以更容易地改变波特率等以适应Arduino。
您是否尝试发送MIDI命令?
import pygtk
import gtk
class MainWindow(gtk.Window):
def __init__(self, debug = None):
gtk.Window.__init__(self)
self.connect("delete-event", self.on_delete_event)
self.set_size_request(400, 300)
bff = gtk.TextBuffer()
self.txtview = gtk.TextView(bff)
self.add(self.txtview)
self.connect("key-press-event", self.on_key_press)
self.connect("key-release-event", self.on_key_release)
def on_key_press(self, key, event):
# Send something
print("Key pressed")
pass
def on_key_release(self, key, event):
# Send something
print("Key released")
pass
def on_delete_event(self, win, data):
gtk.main_quit()
def run(self):
self.show_all()
gtk.mainloop()
def main():
# Do you PySerial initializing here
w = MainWindow()
w.run()
return 0
if __name__ == '__main__':
main()