import board import digitalio import time import usb_hid from adafruit_hid.consumer_control_code import ConsumerControlCode from adafruit_hid.consumer_control import ConsumerControl from adafruit_hid.mouse import Mouse clkPin = digitalio.DigitalInOut(board.GP2) dtPin = digitalio.DigitalInOut(board.GP1) dtPin.direction= digitalio.Direction.INPUT clkPin.direction = digitalio.Direction.INPUT clkPin.pull = digitalio.Pull.UP dtPin.pull = digitalio.Pull.UP global buttonPin buttonPin = digitalio.DigitalInOut(board.GP15) buttonPin.direction = digitalio.Direction.INPUT buttonPin.pull = digitalio.Pull.UP global consumer_control consumer_control = ConsumerControl(usb_hid.devices) global mouse mouse = Mouse(usb_hid.devices) global mode mode = 0 global previousValue previousValue = True #volume controller def control_volumen(pinStatus): if pinStatus == False: print('Volumen down') consumer_control.send(ConsumerControlCode.VOLUME_DECREMENT) else: print('Volumen up') consumer_control.send(ConsumerControlCode.VOLUME_INCREMENT) def mute_volumen(): consumer_control.send(ConsumerControlCode.MUTE) print('Mute') #quickscroll def scroll_up_down(pinStatus): if pinStatus == False: print('Scroll down') mouse.move(wheel=3) else: print('Scroll up') mouse.move(wheel=-3) def middle_mouse_button(): mouse.click(Mouse.MIDDLE_BUTTON) #media control def previous_next_track(pinStatus): if pinStatus == False: print('Previous track') consumer_control.send(ConsumerControlCode.SCAN_PREVIOUS_TRACK) else: print('Next track') consumer_control.send(ConsumerControlCode.SCAN_NEXT_TRACK) def play_pause(): consumer_control.send(ConsumerControlCode.PLAY_PAUSE) print('Play/Pause') while True: if buttonPin.value == False: if mode == 0: mute_volumen() elif mode == 1: middle_mouse_button() elif mode == 2: play_pause() else: mode = 0 mute_volumen() print('Button pressed') time.sleep(0.3) if buttonPin.value == False: if mode == 0: mute_volumen() mode += 1 elif mode == 1: middle_mouse_button() mode += 1 elif mode == 2: play_pause() mode += 1 else: mode = 0 mute_volumen() print("changed mode: " + str(mode)) time.sleep(1) else: if previousValue != clkPin.value: if clkPin.value == False: if mode == 0: control_volumen(dtPin.value) elif mode == 1: scroll_up_down(dtPin.value) elif mode == 2: previous_next_track(dtPin.value) else: mode = 0 control_volumen(dtPin.value) previousValue = clkPin.value