Skip to content

games/brickmatch: Add touchscreen input and module support. - #3662

Open
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/brickmatch-touch-input-pr12
Open

games/brickmatch: Add touchscreen input and module support.#3662
aviralgarg05 wants to merge 1 commit into
apache:masterfrom
aviralgarg05:gsoc/brickmatch-touch-input-pr12

Conversation

@aviralgarg05

@aviralgarg05 aviralgarg05 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Note: Please adhere to Contributing Guidelines.

Summary

brickmatch could only be played with a keyboard, so on a board whose only
input is a touchscreen it could be started but not actually played.

This reads the touchscreen through the same input abstraction the existing
key handling uses, so the game loop is unchanged: a press maps to the
paddle position, and the existing key path stays as it is for boards with a
keyboard. The Kconfig entry also becomes tristate so the game can be built
as a loadable module rather than only into the image.

The diff previously carried the commits it was branched from, which is why
it showed a calculator that has nothing to do with brickmatch. It now
contains only the brickmatch change.

Impact

  • New feature: YES, touchscreen input, selected in Kconfig.
  • User adaptation: NO. Keyboard play is unchanged.
  • Build: The Kconfig entry becomes tristate.
  • Hardware: NO driver change; it reads an existing touchscreen device.
  • Documentation: NO.
  • Security: NO.
  • Compatibility: A configuration without the new option behaves as before.

Testing

Build host: macOS 26.5, arm64, xtensa-esp-elf-gcc 14.2.0
(esp-14.2.0_20251107).

Target: Xtensa / ESP32-S3, Waveshare ESP32-S3-Touch-LCD-7, 800x480 RGB565
framebuffer with a GT911 touchscreen.

  • nxstyle, tools/checkpatch.sh, codespell and git diff --check
  • built for the target both as a builtin and as a loadable module
  • played on the board with touch input: the paddle follows a press, and
    the game runs to a win and a loss without the keyboard attached

PR verification Self-Check

  • This PR introduces one focused change.
  • I have updated all required description fields above.
  • I have reviewed and signed every commit.
  • This PR adheres to the current contribution and coding guidelines.
  • My PR is still work in progress.
  • My PR is ready for review and can be safely merged.

@acassis

acassis commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@aviralgarg05 the PR is about adding touchscreen to brickmatch, but you are adding a Calculator here. All PRs needs to have logical separation

@aviralgarg05

Copy link
Copy Markdown
Contributor Author

@aviralgarg05 the PR is about adding touchscreen to brickmatch, but you are adding a Calculator here. All PRs needs to have logical separation

Sorry, will check and fix all the PRs

Allow Brickmatch to build as either a built-in application or loadable module. Add configurable touchscreen swipe input with aligned samples, release handling, and explicit read-error propagation.

Handle SIGTERM cooperatively, make the framebuffer top offset configurable for launcher controls, validate physical and virtual dimensions, and release input, framebuffer, and device resources on exit.

Assisted-by: OpenAI Codex:gpt-5.6-sol
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
@aviralgarg05
aviralgarg05 force-pushed the gsoc/brickmatch-touch-input-pr12 branch from 5e09f0b to 6420d2a Compare August 14, 2026 15:11
@aviralgarg05 aviralgarg05 changed the title [WIP] games/brickmatch: Add touchscreen input and module support. games/brickmatch: Add touchscreen input and module support. Aug 14, 2026
@aviralgarg05
aviralgarg05 marked this pull request as ready for review August 14, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants