diff --git a/CHANGELOG.md b/CHANGELOG.md index 22afbce..dbbbba1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 4.2.0 (unreleased) +### 4.2.0 (20-12-2025) BikeControl now offers a free trial period of 5 days for all features, so you can test everything before deciding to purchase a license. Please contact the support if you experience any issues! diff --git a/lib/i10n/intl_de.arb b/lib/i10n/intl_de.arb index 1ea6bec..c762dc4 100644 --- a/lib/i10n/intl_de.arb +++ b/lib/i10n/intl_de.arb @@ -38,6 +38,7 @@ "checkMyWhooshConnectionScreen": "Überprüfe den Verbindungsbildschirm in MyWhoosh, um zu sehen, ob „Link“ verbunden ist.", "chooseAnotherScreenshot": "Wähle einen anderen Screenshot aus", "chooseBikeControlInConnectionScreen": "Wähle im Verbindungsbildschirm BikeControl aus.", + "clickAButtonOnYourController": "Klicke eine Controller-Taste, um deren Aktion zu bearbeiten, oder tippe auf das Bearbeitungssymbol.", "clickV2EventInfo": "Dein Click V2 sendet möglicherweise keine Tastenereignisse mehr. Probier mal ein paar Tasten aus und schau, ob sie in BikeControl angezeigt werden.", "clickV2Instructions": "Damit dein Zwift Click V2 optimal funktioniert, solltest du vor jeder Trainings-Session in der Zwift-App verbinden.\nWenn du das nicht machst, funktioniert der Click V2 nach einer Minute nicht mehr.\n\n1. Öffne die Zwift-App.\n2. Melde dich an (kein Abonnement nötig) und öffne den Bildschirm für die Geräteverbindung.\n3. Verbinde deinen Trainer und dann den Zwift Click V2.\n4. Schließe die Zwift-App wieder und verbinde dich erneut in BikeControl.", "close": "Schließen", diff --git a/lib/i10n/intl_en.arb b/lib/i10n/intl_en.arb index 989f91e..a91c456 100644 --- a/lib/i10n/intl_en.arb +++ b/lib/i10n/intl_en.arb @@ -38,6 +38,7 @@ "checkMyWhooshConnectionScreen": "Check the connection screen in MyWhoosh to see if \"Link\" is connected.", "chooseAnotherScreenshot": "Choose another screenshot", "chooseBikeControlInConnectionScreen": "Choose BikeControl in the connection screen.", + "clickAButtonOnYourController": "Click a button on your controller to edit its action or tap the edit icon.", "clickV2EventInfo": "Your Click V2 may no longer send button events. Please check by tapping a few buttons and see if they are visible in BikeControl.", "clickV2Instructions": "To make your Zwift Click V2 work best, you should connect it in the Zwift app before each training session.\nIf you don't do that, the Click V2 will stop working after a minute.\n\n1. Open Zwift app\n2. Log in (subscription not required) and open the device connection screen\n3. Connect your Trainer, then connect the Zwift Click V2\n4. Close the Zwift app again and connect again in BikeControl", "close": "Close", diff --git a/lib/i10n/intl_fr.arb b/lib/i10n/intl_fr.arb index c472eee..801cce9 100644 --- a/lib/i10n/intl_fr.arb +++ b/lib/i10n/intl_fr.arb @@ -38,6 +38,7 @@ "checkMyWhooshConnectionScreen": "Vérifiez l'écran de connexion dans MyWhoosh pour voir si « Link » est connecté.", "chooseAnotherScreenshot": "Choisissez une autre capture d'écran", "chooseBikeControlInConnectionScreen": "Sélectionnez BikeControl dans l'écran de connexion.", + "clickAButtonOnYourController": "Cliquez sur un bouton de votre manette pour modifier son action ou appuyez sur l'icône de modification.", "clickV2EventInfo": "Votre Click V2 n'envoie peut-être plus les événements liés aux boutons. Vérifiez en appuyant sur quelques boutons et voyez s'ils apparaissent dans BikeControl.", "clickV2Instructions": "Pour que ton Zwift Click V2 marche super bien, tu dois le connecter à l'appli Zwift une fois par jour.\nSi tu ne le fais pas, le Click V2 s'arrêtera de fonctionner au bout d'une minute.\n\n1. Ouvre l'appli Zwift.\n2. Connecte-toi (pas besoin d'abonnement) et ouvre l'écran de connexion des appareils.\n3. Connecte ton home trainer, puis connecte le Zwift Click V2.\n4. Ferme l'appli Zwift et reconnecte-toi dans BikeControl.", "close": "Fermer", diff --git a/lib/i10n/intl_pl.arb b/lib/i10n/intl_pl.arb index 8a1ea64..7fda32d 100644 --- a/lib/i10n/intl_pl.arb +++ b/lib/i10n/intl_pl.arb @@ -38,6 +38,7 @@ "checkMyWhooshConnectionScreen": "Sprawdź ekran połączenia w MyWhoosh, aby zobaczyć, czy „Link” jest połączony.", "chooseAnotherScreenshot": "Wybierz inny zrzut ekranu", "chooseBikeControlInConnectionScreen": "Wybierz BikeControl na ekranie połączenia.", + "clickAButtonOnYourController": "Kliknij przycisk na kontrolerze, aby edytować jego akcję lub naciśnij ikonę edycji.", "clickV2EventInfo": "Twóje Click V2 może już nie wysyłać zdarzeń przycisków. Sprawdź, naciskając kilka przycisków, czy są one widoczne w BikeControl.", "clickV2Instructions": "Aby Twoje Zwift Click V2 działały optymalnie, należy połączyć je z aplikacją Zwift przed każdym treningiem.\nJeśli tego nie zrobisz, Click V2 przestanie działać po minucie.\n\n1. Otwórz aplikację Zwift\n2. Zaloguj się (nie wymaga subskrypcji) i otwórz ekran połączeń z urządzeniami\n3. Połącz się z trenażerem, a następnie z Zwift Click V2\n4. Zamknij aplikację Zwift i ponownie połącz się z BikeControl", "close": "Zamknij", diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart index 77a2742..d55de76 100644 --- a/lib/utils/keymap/keymap.dart +++ b/lib/utils/keymap/keymap.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'package:bike_control/gen/l10n.dart'; +import 'package:bike_control/main.dart'; import 'package:bike_control/utils/actions/android.dart'; import 'package:bike_control/utils/core.dart'; import 'package:bike_control/utils/keymap/buttons.dart'; @@ -154,6 +155,7 @@ class KeyPair { logicalKey == null && physicalKey == null && touchPosition == Offset.zero && inGameAction == null; bool get hasActiveAction => + screenshotMode || (physicalKey != null && core.logic.showLocalControl && core.settings.getLocalEnabled() && diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart index e968384..5a82f2e 100644 --- a/lib/widgets/keymap_explanation.dart +++ b/lib/widgets/keymap_explanation.dart @@ -86,7 +86,7 @@ class _KeymapExplanationState extends State { children: [ if (core.connection.controllerDevices.isNotEmpty) Text( - 'Click a button on your controller to edit its action or tap the edit icon.', + AppLocalizations.of(context).clickAButtonOnYourController, style: TextStyle(fontSize: 12), ).muted, diff --git a/pubspec.yaml b/pubspec.yaml index 20fff57..9ecb1a6 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: bike_control description: "BikeControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 4.2.0+57 +version: 4.2.0+58 environment: sdk: ^3.9.0 diff --git a/screenshots/customization-android-1320x2868.png b/screenshots/customization-android-1320x2868.png index f3939d6..4bf8b34 100644 Binary files a/screenshots/customization-android-1320x2868.png and b/screenshots/customization-android-1320x2868.png differ diff --git a/screenshots/customization-androidTablet-3840x2400.png b/screenshots/customization-androidTablet-3840x2400.png index b26879e..10c34bc 100644 Binary files a/screenshots/customization-androidTablet-3840x2400.png and b/screenshots/customization-androidTablet-3840x2400.png differ diff --git a/screenshots/customization-desktop-2560x1600.png b/screenshots/customization-desktop-2560x1600.png index 8abee71..505f17f 100644 Binary files a/screenshots/customization-desktop-2560x1600.png and b/screenshots/customization-desktop-2560x1600.png differ diff --git a/screenshots/customization-iPad-2752x2064.png b/screenshots/customization-iPad-2752x2064.png index 43e08af..74af9f1 100644 Binary files a/screenshots/customization-iPad-2752x2064.png and b/screenshots/customization-iPad-2752x2064.png differ diff --git a/screenshots/customization-iPhone-1242x2688.png b/screenshots/customization-iPhone-1242x2688.png index 46af0b0..59b8ce7 100644 Binary files a/screenshots/customization-iPhone-1242x2688.png and b/screenshots/customization-iPhone-1242x2688.png differ diff --git a/screenshots/customization-noFrame-1100x2390.png b/screenshots/customization-noFrame-1100x2390.png index 1256b55..a6d42b3 100644 Binary files a/screenshots/customization-noFrame-1100x2390.png and b/screenshots/customization-noFrame-1100x2390.png differ