notes/Send Keys on Midi input press-ig4JemLd.py
#!/usr/bin/env python


import sys, pygame, pygame.midi
import os #for calling xte to 'sendkeys' My not be the best way, but works...on Linux...if you have xautomation installed


# set up pygame

pygame.init()
pygame.midi.init()

# list all midi devices

for x in range( 0, pygame.midi.get_count() ):
  print pygame.midi.get_device_info(x)

# open a specific midi device

i = pygame.midi.Input(3) #change this to your device


# run the event loop

while True:
  if i.poll():
    midi_events = i.read(10)
    if (midi_events[0][0][2] != 0):
      key = str(midi_events[0][0][1])
      print "Key is " + key
      if (key == "43"):
        os.system("xte 'str test this out'")
      elif (key == "44"):
        os.system("xte 'str Hello World'")
      elif (key == "45"):
        os.system("xte 'str Hello Bob'")
      elif (key == "46"):
        os.system("xte 'str Good-bye bob'")
      elif (key == "47"):
        os.system("xte 'str World part 2'")
      elif (key == "48"):
        os.system("xte 'str Last one'")

  # wait 10ms - this is arbitrary, but wait(0) still resulted

  # in 100% cpu utilization

  pygame.time.wait(10)

syntax highlighted by Code2HTML, v. 0.9.1