#!/usr/bin/env python import osxmmkeys import subprocess import time commands = { 'play_pause': '-u', 'next_track': '-n', 'prev_track': '-r' } class CmusKeys(): def __init__(self): def cmusRemote(command, flag): def f(): print(command) subprocess.call(['cmus-remote', flag]) return False return f self.tap = osxmmkeys.Tap() for command, flag in commands.items(): self.tap.on(command, cmusRemote(command, flag)) def run(self): self.tap.start() try: while True: time.sleep(1) except (KeyboardInterrupt, SystemExit): self.tap.stop() if __name__ == '__main__': CmusKeys().run()