import time
import board
import digitalio
import usb_hid
import analogio
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
from adafruit_hid.mouse import Mouse
# 初始化按鍵控制物件
keyboard = Keyboard(usb_hid.devices)
mouse = Mouse(usb_hid.devices)
# 初始化按鍵
cob1 = digitalio.DigitalInOut(board.GP2)
cob2 = digitalio.DigitalInOut(board.GP3)
# 其他按鍵同樣初始化...
# 初始化搖桿
analog_in_x = analogio.AnalogIn(board.A0)
analog_in_y = analogio.AnalogIn(board.A1)
# 上拉電阻設定
for btn in [cob1, cob2]:
btn.switch_to_input(pull=digitalio.Pull.UP)
# 主循環
while True:
# 讀取搖桿數值
x_value = analog_in_x.value
y_value = analog_in_y.value
# 根據搖桿數值執行相應的操作
if x_value < 20000:
keyboard.press(Keycode.A)
elif x_value > 60000:
keyboard.press(Keycode.D)
else:
keyboard.release(Keycode.A)
keyboard.release(Keycode.D)
if y_value < 20000:
keyboard.press(Keycode.W)
elif y_value > 60000:
keyboard.press(Keycode.S)
else:
keyboard.release(Keycode.W)
keyboard.release(Keycode.S)
# 讀取其他按鍵狀態,並根據需要執行相應的操作
time.sleep(0.1) # 避免快速讀取按鍵造成干擾