From 5efea607d05e73081d98ca99c986e5bc9777bde6 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Tue, 19 Jul 2022 18:43:42 -0400 Subject: [PATCH] Incorrect code for numberpad HID example --- Keypad_Examples/macropad_hid/code.py | 36 +++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/Keypad_Examples/macropad_hid/code.py b/Keypad_Examples/macropad_hid/code.py index 0cbcda5c2..19396f9ed 100644 --- a/Keypad_Examples/macropad_hid/code.py +++ b/Keypad_Examples/macropad_hid/code.py @@ -5,6 +5,9 @@ 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, @@ -21,21 +24,38 @@ KEY_PINS = ( 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.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. - print(event) - if event.pressed: - # Turn the key blue when pressed - neopixels[event.key_number] = (0, 0, 255) + kbd.press(KEYCODES[key_number]) + neopixels[key_number] = ON_COLOR - # This could just be `else:`, - # since event.pressed and event.released are opposites. if event.released: - neopixels[event.key_number] = (0, 0, 0) + kbd.release(KEYCODES[key_number]) + neopixels[key_number] = OFF_COLOR