feat(ios): Respect iOS Auto-Capitalization setting
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Is your feature request related to a problem? Please describe.
When using the Keyman system keyboard on iOS, shift is always enabled until the first character is typed, even with auto-capitalization turned off. So you see shift active when you start a sentence, and also if you double-tap to select a word to replace or retype, whether it was previously capitalized or not and whether it's at the start of a sentence or not.
### Describe the solution you'd like
Always respect iOS Auto-Capitalization setting. If auto-capitalize is turned off, require user interaction to "shift."
### Describe alternatives you've considered
_No response_
### Related issues
There Is a similar issue -- similar in that it was a "respect ios settings" issue -- here: https://github.com/keymanapp/keyman/issues/2549
### Keyman apps
- [ ] Keyman for Android
- [x] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [ ] Keyman for Windows
- [ ] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
18.0
### Operating system
iOS 26.5.2
### Device
iPhone
### Target application
Any app, using keyman keyboard
### Browser
_No response_
### Keyboard name
sil_euro_latin
### Keyboard version
3.0.4
### Language name
EuroLatin (SIL)
### Additional context
_No response_
Contributor guide
Research direction
Start by reproducing the behavior in Keyman for iPhone and iPad with iOS Auto-Capitalization turned off, including after selecting a word to replace. Trace the iOS keyboard handling involved in shift state and compare behavior with the setting enabled and disabled. Done means shift is not enabled automatically when auto-capitalization is off, while normal capitalization still works when it is on.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100