Compare commits

...

11 Commits

Author SHA1 Message Date
Yaroslav
5655ee8bc6
Merge b194950c5e into d403044f76 2026-02-03 18:42:53 +03:00
Aaron Cunliffe
d403044f76
fix: Increase network SSID display length (#670)
Some checks are pending
CI / build (push) Waiting to run
## Rationale 

I have 2 wifi access points with almost identical names, just one has
`_EXT` at the end of it. With the current display limit of 13 characters
before adding ellipsis, I can't tell which is which.

Before device screenshot with masked SSIDs:
<img
src="https://github.com/user-attachments/assets/3c5cbbaa-b2f6-412f-b5a8-6278963bd0f2"
width="300">


## Summary

Adjusted displayed length from 13 characters to 30 in the Wifi selection
screen - I've left some space for potential proportional font changes in
the future

After image with masked SSIDs:
<img
src="https://github.com/user-attachments/assets/c5f0712b-bbd3-4eec-9820-4693fae90c9f"
width="300">

---

### 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? _**< NO >**_
2026-02-03 18:24:23 +03:00
Yaroslav
b194950c5e Update MappedInputManager.cpp 2026-02-02 02:11:10 +03:00
Yaroslav
d2674a4071 Add the missing layout to FrontLayoutMap 2026-01-29 01:21:57 +03:00
Yaroslav
e38326e30a Update MappedInputManager.cpp 2026-01-28 13:59:47 +03:00
Yaroslav
1ee3227ffb Run clang-format-fix 2026-01-28 13:35:08 +03:00
Yaroslav
107ef3233b
Merge branch 'master' into feat/back-left-right-confirm-layout 2026-01-28 13:27:50 +03:00
Yaroslav
d15f032368 Run clang-format-fix 2026-01-24 21:46:03 +03:00
Yaroslav
224f20acdb Small formatting fixes 2026-01-24 21:42:09 +03:00
Yaroslav
a0d7e77a7e Run clang-format-fix 2026-01-22 11:52:58 +03:00
ishuru
eaeb41bbca feat: Add new button layout option - Back, Left, Right, Confirm
This adds a fourth front button layout option where navigation buttons
(Left/Right) are placed in the center with Back on the far left and
Confirm on the far right, providing an alternative for users who prefer
this arrangement.

Changes:
- Added BACK_LEFT_RIGHT_CONFIRM enum value to FRONT_BUTTON_LAYOUT
- Updated MappedInputManager to handle button mapping for new layout
- Added 'Bck, Lft, Rght, Cnfrm' option to settings UI
- Updated USER_GUIDE.md to document the new option
2026-01-21 20:01:20 -05:00
5 changed files with 11 additions and 7 deletions

View File

@ -133,6 +133,7 @@ The Settings screen allows you to configure the device's behavior. There are a f
- Left, Right, Back, Confirm - Left, Right, Back, Confirm
- Left, Back, Confirm, Right - Left, Back, Confirm, Right
- Back, Confirm, Right, Left - Back, Confirm, Right, Left
- Back, Left, Right, Confirm
- **Side Button Layout (reader)**: Swap the order of the up and down volume buttons from Previous/Next to Next/Previous. This change is only in effect when reading. - **Side Button Layout (reader)**: Swap the order of the up and down volume buttons from Previous/Next to Next/Previous. This change is only in effect when reading.
- **Long-press Chapter Skip**: Set whether long-pressing page turn buttons skip to the next/previous chapter. - **Long-press Chapter Skip**: Set whether long-pressing page turn buttons skip to the next/previous chapter.
- "Chapter Skip" (default) - Long-pressing skips to next/previous chapter - "Chapter Skip" (default) - Long-pressing skips to next/previous chapter

View File

@ -43,13 +43,12 @@ class CrossPointSettings {
}; };
// Front button layout options // Front button layout options
// Default: Back, Confirm, Left, Right
// Swapped: Left, Right, Back, Confirm
enum FRONT_BUTTON_LAYOUT { enum FRONT_BUTTON_LAYOUT {
BACK_CONFIRM_LEFT_RIGHT = 0, BACK_CONFIRM_LEFT_RIGHT = 0,
LEFT_RIGHT_BACK_CONFIRM = 1, LEFT_RIGHT_BACK_CONFIRM = 1,
LEFT_BACK_CONFIRM_RIGHT = 2, LEFT_BACK_CONFIRM_RIGHT = 2,
BACK_CONFIRM_RIGHT_LEFT = 3, BACK_CONFIRM_RIGHT_LEFT = 3,
BACK_LEFT_RIGHT_CONFIRM = 4,
FRONT_BUTTON_LAYOUT_COUNT FRONT_BUTTON_LAYOUT_COUNT
}; };

View File

@ -18,11 +18,13 @@ struct SideLayoutMap {
}; };
// Order matches CrossPointSettings::FRONT_BUTTON_LAYOUT. // Order matches CrossPointSettings::FRONT_BUTTON_LAYOUT.
// [back, confirm, left, right] are actioned by these physical buttons:
constexpr FrontLayoutMap kFrontLayouts[] = { constexpr FrontLayoutMap kFrontLayouts[] = {
{HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT}, {HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT},
{HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT, HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM}, {HalGPIO::BTN_LEFT, HalGPIO::BTN_RIGHT, HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM},
{HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_BACK, HalGPIO::BTN_RIGHT}, {HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT, HalGPIO::BTN_BACK, HalGPIO::BTN_RIGHT},
{HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_RIGHT, HalGPIO::BTN_LEFT}, {HalGPIO::BTN_BACK, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_RIGHT, HalGPIO::BTN_LEFT},
{HalGPIO::BTN_BACK, HalGPIO::BTN_RIGHT, HalGPIO::BTN_CONFIRM, HalGPIO::BTN_LEFT},
}; };
// Order matches CrossPointSettings::SIDE_BUTTON_LAYOUT. // Order matches CrossPointSettings::SIDE_BUTTON_LAYOUT.
@ -85,6 +87,8 @@ MappedInputManager::Labels MappedInputManager::mapLabels(const char* back, const
return {previous, back, confirm, next}; return {previous, back, confirm, next};
case CrossPointSettings::BACK_CONFIRM_RIGHT_LEFT: case CrossPointSettings::BACK_CONFIRM_RIGHT_LEFT:
return {back, confirm, next, previous}; return {back, confirm, next, previous};
case CrossPointSettings::BACK_LEFT_RIGHT_CONFIRM:
return {back, previous, next, confirm};
case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT:
default: default:
return {back, confirm, previous, next}; return {back, confirm, previous, next};

View File

@ -546,8 +546,8 @@ void WifiSelectionActivity::renderNetworkList() const {
// Draw network name (truncate if too long) // Draw network name (truncate if too long)
std::string displayName = network.ssid; std::string displayName = network.ssid;
if (displayName.length() > 16) { if (displayName.length() > 33) {
displayName.replace(13, displayName.length() - 13, "..."); displayName.replace(30, displayName.length() - 30, "...");
} }
renderer.drawText(UI_10_FONT_ID, 20, networkY, displayName.c_str()); renderer.drawText(UI_10_FONT_ID, 20, networkY, displayName.c_str());

View File

@ -40,9 +40,9 @@ const SettingInfo readerSettings[readerSettingsCount] = {
constexpr int controlsSettingsCount = 4; constexpr int controlsSettingsCount = 4;
const SettingInfo controlsSettings[controlsSettingsCount] = { const SettingInfo controlsSettings[controlsSettingsCount] = {
SettingInfo::Enum( SettingInfo::Enum("Front Button Layout", &CrossPointSettings::frontButtonLayout,
"Front Button Layout", &CrossPointSettings::frontButtonLayout, {"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm", "Lft, Bck, Cnfrm, Rght",
{"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm", "Lft, Bck, Cnfrm, Rght", "Bck, Cnfrm, Rght, Lft"}), "Bck, Cnfrm, Rght, Lft", "Bck, Lft, Rght, Cnfrm"}),
SettingInfo::Enum("Side Button Layout (reader)", &CrossPointSettings::sideButtonLayout, SettingInfo::Enum("Side Button Layout (reader)", &CrossPointSettings::sideButtonLayout,
{"Prev, Next", "Next, Prev"}), {"Prev, Next", "Next, Prev"}),
SettingInfo::Toggle("Long-press Chapter Skip", &CrossPointSettings::longPressChapterSkip), SettingInfo::Toggle("Long-press Chapter Skip", &CrossPointSettings::longPressChapterSkip),