Trinket M0でWebブラウズを便利にする
ハードウェアは前回と同じで, キーボードのふりをしてボタン操作でブラウザバック・上下スクロールができるようにします。
— 留年確定しました (@y_sni) 2017年12月8日
学び
ブラウザバックには0.2秒ほどスリープを入れないと戻りすぎた。 逆に上下スクロールは0.1秒毎にポーリングしないと遅すぎた。
懺悔
何も考えていないコピペだらけのクソコードでごめんなさい
参考
adafruit_hid.keycode — Adafruit HID Library 1.0 documentation
コード
from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS import board import digitalio import time back = digitalio.DigitalInOut(board.D0) back.direction = digitalio.Direction.INPUT back.pull = digitalio.Pull.UP up = digitalio.DigitalInOut(board.D4) up.direction = digitalio.Direction.INPUT up.pull = digitalio.Pull.UP down = digitalio.DigitalInOut(board.D2) down.direction = digitalio.Direction.INPUT down.pull = digitalio.Pull.UP kbd = Keyboard() layout = KeyboardLayoutUS(kbd) led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT print("Waiting for button presses") while True: if not back.value: print("back") led.value = True kbd.press(Keycode.ALT, Keycode.LEFT_ARROW) time.sleep(0.1) kbd.release_all() led.value = False time.sleep(0.2) if not up.value: print("up") led.value = True kbd.press(Keycode.UP_ARROW) kbd.release_all() led.value = False if not down.value: print("down") led.value = True kbd.press(Keycode.DOWN_ARROW) kbd.release_all() led.value = False time.sleep(0.1)