Skip to content

libultrahand 2.4.5

Latest

Choose a tag to compare

@ppkantorski ppkantorski released this 11 Jun 10:59
93921de

List of Changes

  1. New Stick Navigation support for KEY_UP, KEY_DOWN, KEY_LEFT, and KEY_RIGHT.
    • These now resolve through the useStickNavigation flag (read from stick_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.
  2. 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.
  3. 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 --lastSelectedItem so the cursor lands on the originating mode) instead of returning to ovlmenu.
    • The label is mapped from the mode argument via the overlay's mode_args / mode_labels lists in overlays.ini. Default behavior (return to ovlmenu) 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.
  4. 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.
  5. 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-sync command.
  6. 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.
  7. 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).
  8. 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).
  9. Added a refreshCombos signal flag for combo refresh handling.

Full Changelog: v2.4.3...v2.4.5