import rotaryio import board import digitalio import usb_hid from adafruit_hid.consumer_control import ConsumerControl from adafruit_hid.consumer_control_code import ConsumerControlCode button = digitalio.DigitalInOut(board.D12) button.direction = digitalio.Direction.INPUT button.pull = digitalio.Pull.UP encoder = rotaryio.IncrementalEncoder(board.D10, board.D9) cc = ConsumerControl(usb_hid.devices) button_state = None last_position = encoder.position while True: current_position = encoder.position position_change = current_position - last_position if position_change > 0: for _ in range(position_change): cc.send(ConsumerControlCode.VOLUME_INCREMENT) print(current_position) elif position_change < 0: for _ in range(-position_change): cc.send(ConsumerControlCode.VOLUME_DECREMENT) print(current_position) last_position = current_position if not button.value and button_state is None: button_state = "pressed" if button.value and button_state == "pressed": print("Button pressed.") cc.send(ConsumerControlCode.PLAY_PAUSE) button_state = None