This makes it more obvious where in the examples to change in order to switch to BLE HID.
36 lines
1.1 KiB
Python
Executable file
36 lines
1.1 KiB
Python
Executable file
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
|