Incorrect code for numberpad HID example

This commit is contained in:
Dan Halbert 2022-07-19 18:43:42 -04:00 committed by GitHub
parent 0590d9bf05
commit 5efea607d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,6 +5,9 @@
import board import board
import keypad import keypad
import neopixel import neopixel
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
KEY_PINS = ( KEY_PINS = (
board.KEY1, board.KEY1,
@ -21,21 +24,38 @@ KEY_PINS = (
board.KEY12, board.KEY12,
) )
keys = keypad.Keys(KEY_PINS, value_when_pressed=False, pull=True) 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 = neopixel.NeoPixel(board.NEOPIXEL, 12, brightness=0.4)
neopixels.fill(OFF_COLOR)
kbd = Keyboard(usb_hid.devices)
while True: while True:
event = keys.events.get() event = keys.events.get()
if event: if event:
key_number = event.key_number
# A key transition occurred. # A key transition occurred.
print(event)
if event.pressed: if event.pressed:
# Turn the key blue when pressed kbd.press(KEYCODES[key_number])
neopixels[event.key_number] = (0, 0, 255) neopixels[key_number] = ON_COLOR
# This could just be `else:`,
# since event.pressed and event.released are opposites.
if event.released: if event.released:
neopixels[event.key_number] = (0, 0, 0) kbd.release(KEYCODES[key_number])
neopixels[key_number] = OFF_COLOR