chips: SPACE separator does not work with virtual keyboards on Android
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
#### Bug, feature request, or proposal:
Bug
#### What is the expected behavior?
Separate chips on space when SPACE is set in MatChipInput.matChipInputSeparatorKeyCodes
#### What is the current behavior?
On Android devices it does not. (I personally tried Nesus X5 and pixel xl v1)
#### What are the steps to reproduce?
https://stackblitz.com/edit/chipinput
"android friendly chip input" uses keyup and looks at the last char of the input's value, to get around Android's "bad" keyboard event w/o keys and indistinguishable keycode 229.
#### What is the use-case or motivation for changing an existing behavior?
To be able to use MatChipInput on Android.
#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
All but on Android devices
#### Is there anything else we should know?
Android produces keycode 229 on space and other special characters.
Related to https://stackoverflow.com/questions/36753548/keycode-on-android-is-always-229/42552368
Contributor guide
Research direction
Start with the linked StackBlitz reproduction and the MatChipInput.matChipInputSeparatorKeyCodes entry point. Trace the keyup handling and how the input value is checked when Android reports keycode 229. Done means SPACE consistently separates chips with Android virtual keyboards while preserving existing separator behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, angular, typescript
- Domain
- frontend, mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100