Adafruit_Learning_System_Gu.../Keypad_Examples/macropad_hid/code.py
2022-07-19 18:43:42 -04:00

61 lines
1.3 KiB
Python

# SPDX-FileCopyrightText: 2022 Dan Halbert for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import board
import keypad
import neopixel
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
KEY_PINS = (
board.KEY1,
board.KEY2,
board.KEY3,
board.KEY4,
board.KEY5,
board.KEY6,
board.KEY7,
board.KEY8,
board.KEY9,
board.KEY10,
board.KEY11,
board.KEY12,
)
KEYCODES = (
Keycode.SEVEN,
Keycode.EIGHT,
Keycode.NINE,
Keycode.FOUR,
Keycode.FIVE,
Keycode.SIX,
Keycode.ONE,
Keycode.TWO,
Keycode.THREE,
Keycode.BACKSPACE,
Keycode.ZERO,
Keycode.ENTER,
)
ON_COLOR = (0, 0, 255)
OFF_COLOR = (0, 20, 0)
keys = keypad.Keys(KEY_PINS, value_when_pressed=False, pull=True)
neopixels = neopixel.NeoPixel(board.NEOPIXEL, 12, brightness=0.4)
neopixels.fill(OFF_COLOR)
kbd = Keyboard(usb_hid.devices)
while True:
event = keys.events.get()
if event:
key_number = event.key_number
# A key transition occurred.
if event.pressed:
kbd.press(KEYCODES[key_number])
neopixels[key_number] = ON_COLOR
if event.released:
kbd.release(KEYCODES[key_number])
neopixels[key_number] = OFF_COLOR