A fork of https://github.com/crosspoint-reader/crosspoint-reader
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add button mapping for Left, Back, Confirm, Right (#173)

## Summary

* Add button mapping for Left, Back, Confirm, Right for front buttons

## Additional Context

* Asked for in
https://github.com/daveallie/crosspoint-reader/discussions/78#discussioncomment-15375326

authored by

Dave Allie and committed by
GitHub
34cf5f06 f2ca65d7

+10 -7
+1 -1
src/CrossPointSettings.h
··· 31 31 // Front button layout options 32 32 // Default: Back, Confirm, Left, Right 33 33 // Swapped: Left, Right, Back, Confirm 34 - enum FRONT_BUTTON_LAYOUT { BACK_CONFIRM_LEFT_RIGHT = 0, LEFT_RIGHT_BACK_CONFIRM = 1 }; 34 + enum FRONT_BUTTON_LAYOUT { BACK_CONFIRM_LEFT_RIGHT = 0, LEFT_RIGHT_BACK_CONFIRM = 1, LEFT_BACK_CONFIRM_RIGHT = 2 }; 35 35 36 36 // Side button layout options 37 37 // Default: Previous, Next
+8
src/MappedInputManager.cpp
··· 11 11 switch (frontLayout) { 12 12 case CrossPointSettings::LEFT_RIGHT_BACK_CONFIRM: 13 13 return InputManager::BTN_LEFT; 14 + case CrossPointSettings::LEFT_BACK_CONFIRM_RIGHT: 15 + return InputManager::BTN_CONFIRM; 14 16 case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: 15 17 default: 16 18 return InputManager::BTN_BACK; ··· 19 21 switch (frontLayout) { 20 22 case CrossPointSettings::LEFT_RIGHT_BACK_CONFIRM: 21 23 return InputManager::BTN_RIGHT; 24 + case CrossPointSettings::LEFT_BACK_CONFIRM_RIGHT: 25 + return InputManager::BTN_LEFT; 22 26 case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: 23 27 default: 24 28 return InputManager::BTN_CONFIRM; ··· 26 30 case Button::Left: 27 31 switch (frontLayout) { 28 32 case CrossPointSettings::LEFT_RIGHT_BACK_CONFIRM: 33 + case CrossPointSettings::LEFT_BACK_CONFIRM_RIGHT: 29 34 return InputManager::BTN_BACK; 30 35 case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: 31 36 default: ··· 36 41 case CrossPointSettings::LEFT_RIGHT_BACK_CONFIRM: 37 42 return InputManager::BTN_CONFIRM; 38 43 case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: 44 + case CrossPointSettings::LEFT_BACK_CONFIRM_RIGHT: 39 45 default: 40 46 return InputManager::BTN_RIGHT; 41 47 } ··· 85 91 switch (layout) { 86 92 case CrossPointSettings::LEFT_RIGHT_BACK_CONFIRM: 87 93 return {previous, next, back, confirm}; 94 + case CrossPointSettings::LEFT_BACK_CONFIRM_RIGHT: 95 + return {previous, back, confirm, next}; 88 96 case CrossPointSettings::BACK_CONFIRM_LEFT_RIGHT: 89 97 default: 90 98 return {back, confirm, previous, next};
+1 -6
src/activities/settings/SettingsActivity.cpp
··· 23 23 {"Front Button Layout", 24 24 SettingType::ENUM, 25 25 &CrossPointSettings::frontButtonLayout, 26 - {"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm"}}, 26 + {"Bck, Cnfrm, Lft, Rght", "Lft, Rght, Bck, Cnfrm", "Lft, Bck, Cnfrm, Rght"}}, 27 27 {"Side Button Layout (reader)", 28 28 SettingType::ENUM, 29 29 &CrossPointSettings::sideButtonLayout, ··· 171 171 // Draw all settings 172 172 for (int i = 0; i < settingsCount; i++) { 173 173 const int settingY = 60 + i * 30; // 30 pixels between settings 174 - 175 - // Draw selection indicator for the selected setting 176 - if (i == selectedSettingIndex) { 177 - renderer.drawText(UI_10_FONT_ID, 5, settingY, ">"); 178 - } 179 174 180 175 // Draw setting name 181 176 renderer.drawText(UI_10_FONT_ID, 20, settingY, settingsList[i].name, i != selectedSettingIndex);