Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/python
- # Script requries sendmidi:
- # https://github.com/gbevin/SendMIDI
- # https://aur.archlinux.org/packages/sendmidi
- # Run as sudo
- # Press F12 to enable/disable
- import struct
- import time
- import sys
- import os
- # ______
- # Change path below to your keyboard in /dev/input
- path = "/dev/input/by-id/Your-keyboard-path"
- FORMAT = 'llHHI'
- EVENT_SIZE = struct.calcsize(FORMAT)
- evfile = open(path, "rb")
- event = evfile.read(EVENT_SIZE)
- enabled = False
- keydict = {
- 44: 60, # C
- 31: 61, # C#
- 45: 62, # D
- 32: 63, # D#
- 46: 64, # E
- 47: 65, # F
- 34: 66,
- 48: 67, # G
- 35: 68, # G#
- 49: 69, # A
- 36: 70, # A#
- 50: 71, # B
- 51: 72, # C
- 38: 73, # C#
- 52: 74, # D
- 30: 75, # D#
- 43: 76, # E
- 16: 71,
- 3: 72,
- 17: 73,
- 4: 74,
- 18: 75,
- 19: 76,
- 6: 77,
- 20: 78,
- 7: 79,
- 21: 80,
- 8: 81,
- 22: 82,
- 23: 83,
- 10: 84,
- 24: 85,
- 11: 86,
- 25: 87,
- }
- while event:
- (tv_sec, tv_usec, type, code, value) = struct.unpack(FORMAT, event)
- if (code == 88 and value == 1):
- enabled = not enabled
- else:
- if (code in keydict and enabled == True):
- if (value == 1):
- os.system("sendmidi dev \"Renoise MIDI In Port A\" on "+ str(keydict[code])+" 127")
- if (value == 0):
- os.system("sendmidi dev \"Renoise MIDI In Port A\" off "+ str(keydict[code])+" 127")
- pass
- event = evfile.read(EVENT_SIZE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement