keyboard input controls supported with keymapper - #1450
Conversation
|
🪓 PR closed, deleted preview. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d64e57b0e0
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bb254dc26e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
…complete event stream
|
Inline key mapping on the options |
JackWilb
left a comment
There was a problem hiding this comment.
Thanks for adding the inline key mapping and the key hints. I rechecked the latest commits and am requesting changes because the current implementation still has a few correctness and accessibility problems:
- Invalid mappings are warnings, so configs such as "14" still run instead of failing in the parser.
- Shift+X-style combinations are not implemented consistently between validation and runtime.
- Shortcuts stop working after a participant focuses a visible option, and multiple visible responses use first-listener-wins ownership.
- A mapped Enter can also trigger the Next/Check Answer handler.
- The new Next hint changes the accessible name and is causing current Chromium failures.
- Keyboard and click changes are still indistinguishable in Trrack.
The inline comments below describe the smallest fixes I think are needed. Please also add integration coverage for focus ownership, mapped Enter, parser failures/combinations, accessible names, and Trrack interaction source.
JackWilb
left a comment
There was a problem hiding this comment.
Thanks for the keyboard input work. I merged the current dev branch and addressed the review follow-ups:
- Mapped button selections now record whether they came from a keyboard shortcut or a click in provenance.
- Config validation rejects Tab shortcuts and Enter shortcuts that conflict with
nextOnEnter. Unsupported modifier combinations produce warnings. - Focused action buttons retain their normal Enter and Space activation, and shortcut mappings are limited to button options.
- Removed the unused focus wrapper and kept the updated Stroop test assertions from both branches.
The focused unit tests and Chromium Stroop test passed locally. The pushed commit also passed lint, unit tests, deployment, and all four Chromium CI shards. Approved.

Does this PR close any open issues?
Closes #1448
Give a longer description of what this PR addresses and why it's needed
Custom keyboard controls are not easily accessible in the config files but are really usefull especially when buttons are involved in the questions. Thie PR enables the user to define a mapping or a list in the json to link buttons to keys on the keyboard and on keypress the linked button is selected.