Skip to content

MacroPad RP2040 Keypress

MacroPad keypress

adafruit-macropad-rp2040-pinout

You can buy MacroPad on the official Adafruit store.

This blog post will allow you to handle key press.

code.py
"""
Grid layout demo for MacroPad. Displays the key pressed in a grid matching the key layout on the
built-in display.
"""
# adafruit_macropad docs:
# https://docs.circuitpython.org/projects/macropad/en/latest/api.html#adafruit-macropad
# keyboard docs:
# https://docs.circuitpython.org/projects/hid/en/latest/index.html
import displayio
import terminalio
from adafruit_display_text import bitmap_label as label
from adafruit_displayio_layout.layouts.grid_layout import GridLayout
from adafruit_macropad import MacroPad
macropad = MacroPad()
main_group = displayio.Group()
macropad.display.root_group = main_group
title = label.Label(
y=4,
font=terminalio.FONT,
color=0x0,
text=" KEYPRESSES ",
background_color=0xFFFFFF,
)
layout = GridLayout(x=0, y=10, width=128, height=54, grid_size=(3, 4), cell_padding=1)
labels = []
for _ in range(12):
labels.append(label.Label(terminalio.FONT, text=""))
for index in range(12):
x = index % 3
y = index // 3
layout.add_content(labels[index], grid_position=(x, y), cell_size=(1, 1))
main_group.append(title)
main_group.append(layout)
while True:
key_event = macropad.keys.events.get()
if key_event:
if key_event.pressed:
labels[key_event.key_number].text = f"KEY{key_event.key_number}"
else:
labels[key_event.key_number].text = ""

πŸ“‚ adafruit/macropad-rp2040/keypress/code.pyView on GitLab β†—