agentsclimarketplace

Embedded input libs

Skill easyzoom/aix-skills/skills/embedded-input-libs

Reusable Agent Skills for embedded systems, MCU debugging, firmware workflows, and AI automation. (嵌入式、MCU 调试、固件流程与 AI 自动化的可复用 Agent Skills 集合)。

Install
npx -y skills add easyzoom/aix-skills --skill embedded-input-libs

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when integrating, porting, configuring, or debugging embedded button/input libraries such as MultiButton or FlexibleButton

SKILL.md

2.7 KB, as published. Nobody here has run it

Embedded Input Libs

Overview

Use this skill for button and simple input libraries such as MultiButton and FlexibleButton. The key is to align scan period, debounce time, electrical polarity, event semantics, and callback context.

When To Use

Use this skill when:

  • The user wants to add or debug MultiButton, FlexibleButton, key scanning, long press, double click, or button event callbacks.
  • Inputs bounce, trigger twice, miss long presses, fire in the wrong order, or behave differently across boards.

Do not use this skill for complex UI frameworks or touch/display systems. Use LVGL-related skills when UI event routing dominates.

First Questions

Ask for:

  • Library: MultiButton, FlexibleButton, or custom button helper.
  • Button circuit: pull-up/pull-down, active level, GPIO mode, external RC, matrix, or direct GPIO.
  • Scan period and where scanning runs: timer, main loop, RTOS task, or interrupt.
  • Desired events: press, release, click, double click, long press, repeat, hold.
  • Current symptom and logic analyzer or GPIO trace if available.

Integration Checklist

  1. Confirm electrical polarity. Active-low buttons with pull-ups are common; software level must match hardware.

  2. Choose a stable scan period. Debounce and click timing depend on the scan tick being regular.

  3. Keep callbacks lightweight. Button callbacks should post events or set flags, not block or write flash.

  4. Define event semantics. Decide whether long press also emits click, whether double click suppresses single click, and when release fires.

  5. Test with measured input. Compare software events with a logic analyzer or GPIO trace when behavior is unclear.

Common Failures

  • Wrong active level makes pressed and released inverted.
  • Scan period jitter breaks double-click detection.
  • Long press also triggers unwanted single click.
  • Callback runs in timer/ISR context and blocks.
  • Shared button state is accessed from multiple tasks without protection.

Verification

Before claiming input handling works:

  • State active level, scan period, debounce time, and callback context.
  • Test press, release, click, long press, repeated press, and bounce.
  • Confirm event order matches product expectations.
  • Confirm no flash writes or blocking operations occur in unsafe context.

Example

User:

MultiButton 长按会同时触发单击。

Agent:

  1. Asks for scan period, event configuration, active level, and expected semantics.
  2. Checks whether single click is delayed until double/long decision is known.
  3. Verifies event order with a controlled press-duration test.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.