From e9391166171c30b3cde43eae217f57eb426805f1 Mon Sep 17 00:00:00 2001 From: Onyx Date: Sat, 3 Oct 2026 09:47:11 +0200 Subject: [PATCH 1/4] Logitech: explain the empty profile list instead of just reporting it A Logitech mouse that G HUB has never linked has a blank onboard profile directory, so the profile list is empty and the only message was 'This mouse reported no onboard profiles.' with no hint what to do. Say why and how to fix it: link the mouse in G HUB once, then reload. Profiles appear after that first link (issue #516). --- src/i18n.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n.ts b/src/i18n.ts index edbc7b0..c94a9c2 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -762,7 +762,7 @@ const en = { "ctl.progProfile": "Switching profile…", "ctl.switchingLayer": "Switching to {label}…", "ctl.readingProfiles": "Reading onboard profiles…", - "ctl.noProfiles": "This mouse reported no onboard profiles.", + "ctl.noProfiles": "No onboard profiles are saved on this mouse yet. Logitech mice only get them after G HUB has linked the mouse once: open G HUB, let it detect the mouse, then reload here.", "ctl.noNameField": "This profile format has no name field.", "ctl.selectedMouse": "the selected mouse", "ctl.autoSleep": "Auto sleep {v}", From c0764ae421b5aa00711ae146ebd8f26d1f66e184 Mon Sep 17 00:00:00 2001 From: Onyx Date: Mon, 5 Oct 2026 09:03:25 +0200 Subject: [PATCH 2/4] Logitech: set up profiles on a mouse that has none, without G HUB A Logitech mouse G HUB has never linked has an empty profile directory, so the profile list was empty. Offer a Set up profiles button when the list is empty and the mouse has a captured factory image (PRO X 3 SUPERSTRIKE): it writes the factory profiles with profile 1 active and reloads the list. Needs the new initializeBlankOnboardProfiles from @openmouse/protocol, so it waits on the protocol release (issue #516). --- src/app/Profiles.tsx | 10 ++++++++ src/device/controller.ts | 49 ++++++++++++++++++++++++++++++++++++++++ src/device/types.ts | 2 ++ src/i18n-ar.ts | 1 + src/i18n-de.ts | 1 + src/i18n-es.ts | 1 + src/i18n-fr.ts | 1 + src/i18n-ja.ts | 1 + src/i18n-ko.ts | 1 + src/i18n-pt.ts | 1 + src/i18n-ru.ts | 1 + src/i18n-vi.ts | 1 + src/i18n-zh.ts | 1 + src/i18n.ts | 3 ++- 14 files changed, 73 insertions(+), 1 deletion(-) diff --git a/src/app/Profiles.tsx b/src/app/Profiles.tsx index 452d058..f34027e 100644 --- a/src/app/Profiles.tsx +++ b/src/app/Profiles.tsx @@ -87,6 +87,16 @@ export function Profiles({ > + {snapshot.setupProfilesAvailable ? ( + + ) : null} {snapshot.resetProfilesAvailable ? (