List of Changes
- New Stick Navigation support for
KEY_UP,KEY_DOWN,KEY_LEFT, andKEY_RIGHT.- These now resolve through the
useStickNavigationflag (read fromstick_navigation, default on). When on, the analog stick navigates alongside the D-pad; when off, only the D-pad navigates. - Applies to every libultrahand v2.4.5+ overlay that uses the
KEY_*directional defines.
- These now resolve through the
- Hold-to-toggle feedback for
ToggleListItem.- Toggles can now defer their action until a hold completes. On a hold toggle the standard click plays on press, the click animation is suppressed, and the on/off sound fires when the hold finishes instead of immediately.
- New opt-in "return to your own menu" combo behavior (
comboReturnToSelfMenu).- When a host overlay opts in, pressing the mode-combo of the mode you are currently in relaunches that overlay's own main menu (with
--lastSelectedItemso the cursor lands on the originating mode) instead of returning toovlmenu. - The label is mapped from the mode argument via the overlay's
mode_args/mode_labelslists inoverlays.ini. Default behavior (return toovlmenu) is unchanged for every overlay that does not opt in. - This is the behavior used by overlays such as Status Monitor to keep mode-switching inside their own menu.
- When a host overlay opts in, pressing the mode-combo of the mode you are currently in relaunches that overlay's own main menu (with
Overlay does not exist!notification guard on combo launch.- The overlay file is now checked for existence before any AMS-compatibility check.
- A missing overlay shows an "Overlay does not exist!" notification rather than being misreported as AMS-incompatible.
- New on-demand NTP sync API (
ult::syncNtp(<NTP_URL>)).- Performs a clock sync to a specified NTP host: confirms internet access, sets up sockets, syncs, and tears down. The existing pending-flag one-shot sync was refactored to share this core. This backs Ultrahand's new
ntp-synccommand.
- Performs a clock sync to a specified NTP host: confirms internet access, sets up sockets, syncs, and tears down. The existing pending-flag one-shot sync was refactored to share this core. This backs Ultrahand's new
- Wildcard section parsing for
ini_file_source(parseSectionsFromIniPattern).- A wildcard ini path enumerates all matching files and merges their section names with deduplication (first occurrence wins). An append overload lets chained calls accumulate sections across multiple sources.
- Back-feedback suppression hook (
suppressNextBackFeedback).- Lets a host suppress the exit haptic/sound on the next back action when appropriate (used by the hold path).
- Settings strings and sections reorganized.
- Added strings for Input Settings, Stick Navigation, Hold Duration, Feature Settings, NTP Sync Downloads, and Right-side Mode, plus the Theme Settings grouping and Overlay does not exist!.
- Page Recall, Launch Recall, and Auto NTP Sync strings were retired (the first two are now always-on; the last is folded into NTP Sync Downloads).
- Added a
refreshCombossignal flag for combo refresh handling.
Full Changelog: v2.4.3...v2.4.5