Xteink-X4-crosspoint-reader/src/activities/util
Nathan James 7185e5d287
feat: Change keyboard "caps" to "shift" & Wrap Keyboard (#377)
## Summary

* This PR solves issue
https://github.com/crosspoint-reader/crosspoint-reader/issues/357 in the
first commit
* I then added an additional commit which means when you reach the end
of the keyboard, if you go 'beyond', you wrap back to the other side.
* This replaces existing behaviour, so if you would rather this be
removed, let me know and I'll just do the `caps` -> `shift` change

## Additional Context

### Screenshots for the new shift display

I thought it might not fit and need column size changes, but ended up
fitting fine, see screenshots showing this below:

<img width="573" height="366" alt="image"
src="https://github.com/user-attachments/assets/b8f6a4ec-94f5-4f5e-b9a6-06cc5f250ddb"
/>

<img width="570" height="308" alt="image"
src="https://github.com/user-attachments/assets/7d775518-4784-4120-a20a-a9dc67af8565"
/>


### Gif showing the wrap-around of the text



![IMG_7648](https://github.com/user-attachments/assets/7eec9066-e1cc-49a1-8b6b-a61556038d31)

---

### AI Usage

Did you use AI tools to help write this code? **PARTIALLY** - used to
double check the text wrapping had no edge-cases. (It did also suggest
rewriting the function, but I decided that was too big of a change for a
working part of the codebase, for now!)
2026-01-19 22:50:34 +11:00
..
FullScreenMessageActivity.cpp Aleo, Noto Sans, Open Dyslexic fonts (#163) 2025-12-30 19:21:47 +11:00
FullScreenMessageActivity.h Use sane smaller data types for data in section.bin (#188) 2025-12-31 13:11:36 +11:00
KeyboardEntryActivity.cpp feat: Change keyboard "caps" to "shift" & Wrap Keyboard (#377) 2026-01-19 22:50:34 +11:00
KeyboardEntryActivity.h Support swapping the functionality of the front buttons (#133) 2025-12-29 14:59:14 +11:00