## 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  --- ### 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!)