angular / angular/components

chips: SPACE separator does not work with virtual keyboards on Android

Open
#9,237 12 comments 10 reactions 0 assignees View on GitHub
android area: material/chips help wanted P3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.