Wiązanie klawiatury Wxpython

Pracuję więc nad trenerem rytmicznym i używam wxpython jako zestawu narzędzi UI. Zastanawiałem się, czy ktoś nie wie, jak wiązać naciśnięcia klawiszy, aby odtwarzać dźwięki? Mówiąc prościej, użytkownicy mogą używać klawiatury do grania w bęben. Przykład „Naciśnięcie klawisza A spowoduje odtworzenie bębna basowego”

Teraz natrafiłem na samouczek -

http://www.blog.pythonlibrary.org/2009/08/29/wxpython-catching-key-and-char-events/

Ale wydaje się, że potrzebuje przycisku, aby pomyślnie odtworzyć dźwięk. Mam trochę funkcjonalności przy użyciu tego przykładu. Ale zastanawiałem się, czy jest inny sposób, aby to zrobić bez potrzeby używania przycisku?

import wx

class MyForm(wx.Frame):


def __init__(self):
    wx.Frame.__init__(self, None, wx.ID_ANY, "Key Press Tutorial")

    # Add a panel so it looks the correct on all platforms
    panel = wx.Panel(self, wx.ID_ANY)
    btn = wx.Button(panel, label="OK")

    btn.Bind(wx.EVT_KEY_DOWN, self.onKeyPress)

def onKeyPress(self, event):
    keycode = event.GetKeyCode()
    print keycode
    if keycode == ord('A'):
        print "you pressed the spacebar!"
        sound_file = "notation1.wav"
        sound=wx.Sound(sound_file)
        print(sound_file)
        sound.Play(wx.SOUND_ASYNC)
    event.Skip()

 # Run the program
if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = MyForm()
    frame.Show()
    app.MainLoop()

To jest mój przykład przy użyciu samouczka.

Twoje zdrowie!

questionAnswers(1)

yourAnswerToTheQuestion