racket / racket/gui

[feature request] Add a `repeat` field to `key-event%` to store info about repeating key-presses

Open
#230 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Racket
Stars
68
Forks
82
PR merge metrics
No merged PRs in 30d

Description

Holding a key down will on most operating systems result in repeating key presses.
The OS-level key events will mark the first event as "non-repeating" and the following as "repeating".
Currently this information is not available in the Racket level (that is, in key-event%).

More information:

https://developer.apple.com/documentation/appkit/nsevent/1528049-arepeat?changes=_10&language=objc
https://docs.microsoft.com/en-us/windows/console/key-event-record-str
https://linux.die.net/man/3/xkbsetdetectableautorepeat

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the key-event% API and the linked Apple, Windows, and Linux event documentation first. Trace how OS-level key events become Racket key-event% values; done means a repeat indicator is exposed consistently across those platforms and covered by the project's relevant tests. The issue names no source files or tests, so locating those entry points is part of the work.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.