microsoft / microsoft/react-native-windows
Add isComposing to onKeyDown/onKeyUp
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 17.3k
- Forks
- 1.2k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 33
Description
See comment for context. Copying from necolas's comment:
The event has an isComposing property set to true in that case. However, it's a bit more complicated (and inconsistent across browsers) than that and there has been discussion about what the timing of the composition events (compositionstart, compositionend [ref]) and when the isComposing property should be true. So in practice, on the web you also have to check whether the keyCode is a magic number 229 which indicates IME composition.
The work I'm doing on interactions will probably add onCompositionStart/End events and prevent all IME events from triggering onKeyDown and onKeyUp events, as the vast majority of developers aren't aware of IME and end up breaking things by acting on key events like Enter that are actually occurring during composition.
Some IME-related discussion here: necolas/react-native-web#1538 (comment)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the onKeyDown and onKeyUp event handling and the linked pull request 5590 discussion for the intended IME behavior. Check the referenced react-native-web discussion for context, then verify that these events expose isComposing during composition; the issue names no files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100