pablohc 9b3b9eb597 fix: pressing space barely moves input cursor (#1729) (#1733)
## Summary

* **What is the goal of this PR?** 
Fix the visual keyboard cursor not advancing when typing a space. Typing
one space leaves the cursor at position 0; typing two spaces advances it
only by one space width. This affects all input types except URL.
* **What changes are included?** 
Replace `getTextWidth()` with `getTextAdvanceX()` in four locations
within `KeyboardEntryActivity::render()` for cursor positioning and
line-wrapping calculations.

## Additional Context

* **Root cause**: `getTextWidth()` returns the bounding-box width of the
drawn glyphs. The space glyph has `width=0` and `height=0` (it's
invisible), so `getTextWidth(" ") == 0`. The trailing `advanceX` of the
last character is only flushed when the *next* character is processed,
so a string ending in space reports zero width. `getTextAdvanceX()`
correctly includes the final glyph's advance, matching how `drawText()`
actually positions characters.

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**YES**_
2026-04-27 21:28:43 +02:00
2026-04-25 17:48:29 +02:00
2026-04-27 11:19:54 +02:00
2026-04-27 11:19:54 +02:00
2026-04-27 21:28:36 +02:00
2026-04-23 22:48:41 -04:00
2026-04-23 22:35:07 +02:00
2025-12-03 22:06:45 +11:00
2026-04-07 09:29:20 +02:00
2025-12-03 22:06:45 +11:00
2025-12-03 22:06:45 +11:00
2026-04-27 21:19:53 +02:00

CrossPoint Reader ++

This firmware is based on the crosspoint-reader for the XTEINK X4, a great piece of software by Dave Allie and others

Why this fork

Unfortunately the official repository suffers from too many good ideas floating around and a lack of clear governance how to deal with these contributions, so it's lacking fundamental fixes for a proper reading experience (rendering issues, sub-par sync capabilities with KOReader, a popular multi-platform open-source epub reader).

Trying to contribute enhancements / fixes became increasingly difficult as the lack of progress effectively prevented further development.

Therefore this branch focuses on real fixes and real improvements while trying to keep up to pace with developments in the main branch.

What's different

  • Proper KOReader Snychronisation (including https TLS OOM fix)
  • Fixes for a lot of css rendering issues
  • Additional sleep screens support (information overlay, transparent pictures over current reader screen)
  • Clock-Support
  • Weather information panel
  • Multiple under-the-hood performance improvements
  • Book information screen
  • Markdown-support
  • WiFi captive portal support
  • ...

Choosing the right reader...

Your usecase might be completely different from mine, so I try to give an overview of the different reader flavors to my best knowledge. If you know of more variants / have more information, then let me know

Last update: April, 12th, 2026

Reader Visual appeal Functionality Formats Pros Cons Custom fonts CJK Bluetooth
Stock Okay Reader XTC, EPUB, TXT Frequent official updates Lot of rendering issues Yes Yes Yes
THIS FORK: CrossPoint ++ Okay Calibre Wireless support; Proper KOReader progress sync; Wi-Fi transfer; Book Info; Clock, Weather Info EPUB, XTC, TXT, MD Faster integration of functionality Small team No No No
CrossPoint Okay Calibre Wireless support; KOReader progress sync; Wi-Fi transfer EPUB, XTC, TXT Biggest community Least common denominator approach No No No
CrossPet Excellent, Playful Virtual pet motivator; mini-games EPUB, TXT A lot of additional apps Higher battery drain, Small team, bloaty Yes Yes Yes
Papyrix Minimalist Calibre Wireless support; exFAT support EPUB, FB2, MD, TXT A lot of good ideas Small team Yes Yes No
Inx Nice mainly crosspoint functionality plus reading statistics EPUB, XTC, TXT Good reading stats Small team No No No
vCodex Nice mainly crosspoint functionality plus reading statistics EPUB, XTC, TXT Good reading stats Small team No No No
PlusPoint Okay Experimental EPUB, TXT, JS Apps Support for custom JS apps; better RTC Based on older code, small team Yes Yes No
SUMI Nice Lua custom apps; Bluetooth keyboard support for notes; Game Boy emulator; Bluetooth Transfer EPUB, TXT, XTC, MD Many apps, customizable, Papyrix fork Single Contributor, No Wi-Fi Yes Yes Yes
S
Description
No description provided
Readme MIT
134 MiB
Languages
C 78.2%
C++ 18.2%
Python 2%
HTML 1.4%