[PR #363] [MERGED] fix: key repeat breaking change from PR #357 #483

Closed
opened 2026-03-02 23:46:42 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/363
Author: @melMass
Created: 11/29/2025
Status: Merged
Merged: 11/29/2025
Merged by: @kommander

Base: mainHead: fix-kittykb-repeat


📝 Commits (4)

  • 63af47f refactor(keypress): replace keyrepeat event with repeated flag
  • b1fa7ef test(keypress): update repeat event handling in kitty keyboard tests
  • e4c5b1c docs(solid): add JSDoc documentation to useKeyboard hook
  • acb40f5 chore: 🧹 remove extra blank line in keypress debug renderer

📊 Changes

7 files changed (+54 additions, -41 deletions)

View changed files

📝 packages/core/dev/keypress-debug-renderer.ts (+0 -4)
📝 packages/core/src/lib/KeyHandler.ts (+3 -6)
📝 packages/core/src/lib/parse.keypress-kitty.test.ts (+18 -11)
📝 packages/core/src/lib/parse.keypress-kitty.ts (+4 -2)
📝 packages/core/src/lib/parse.keypress.ts (+1 -0)
📝 packages/core/src/tests/renderer.input.test.ts (+12 -10)
📝 packages/solid/src/elements/hooks.ts (+16 -8)

📄 Description

Problem

PR #357 introduced a breaking change: key repeats were emitted as separate keyrepeat events instead of keypress

This broke components like Textarea that only subscribe to keypress.
They stopped receiving key repeats, so holding a key no longer triggered continuous input.

Solution

Following the @kommander 's suggestion: emit repeat events as keypress with a repeated: true flag


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/363 **Author:** [@melMass](https://github.com/melMass) **Created:** 11/29/2025 **Status:** ✅ Merged **Merged:** 11/29/2025 **Merged by:** [@kommander](https://github.com/kommander) **Base:** `main` ← **Head:** `fix-kittykb-repeat` --- ### 📝 Commits (4) - [`63af47f`](https://github.com/anomalyco/opentui/commit/63af47f85b612918e16a70ccf2b9a3aaf5246e4a) refactor(keypress): replace keyrepeat event with repeated flag - [`b1fa7ef`](https://github.com/anomalyco/opentui/commit/b1fa7efb58e0dcd9f11543eb41dcfce41013918f) test(keypress): update repeat event handling in kitty keyboard tests - [`e4c5b1c`](https://github.com/anomalyco/opentui/commit/e4c5b1c5500398b1e9f4650e255de6dc5e465fe5) docs(solid): add JSDoc documentation to useKeyboard hook - [`acb40f5`](https://github.com/anomalyco/opentui/commit/acb40f5ecbefc0568e2fda344fc1295192768704) chore: 🧹 remove extra blank line in keypress debug renderer ### 📊 Changes **7 files changed** (+54 additions, -41 deletions) <details> <summary>View changed files</summary> 📝 `packages/core/dev/keypress-debug-renderer.ts` (+0 -4) 📝 `packages/core/src/lib/KeyHandler.ts` (+3 -6) 📝 `packages/core/src/lib/parse.keypress-kitty.test.ts` (+18 -11) 📝 `packages/core/src/lib/parse.keypress-kitty.ts` (+4 -2) 📝 `packages/core/src/lib/parse.keypress.ts` (+1 -0) 📝 `packages/core/src/tests/renderer.input.test.ts` (+12 -10) 📝 `packages/solid/src/elements/hooks.ts` (+16 -8) </details> ### 📄 Description ## Problem PR #357 introduced a breaking change: key repeats were emitted as separate `keyrepeat` events instead of `keypress` This broke components like `Textarea` that only subscribe to `keypress`. They stopped receiving key repeats, so holding a key no longer triggered continuous input. ## Solution Following the @kommander 's suggestion: emit repeat events as `keypress` with a `repeated: true` flag --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-02 23:46:42 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#483
No description provided.