Просмотр исходного кода

Enabled alt names by default, added eject button support

Sandro Kalatozishvili 1 год назад
Родитель
Сommit
092e816301
7 измененных файлов с 54 добавлено и 26 удалено
  1. 1 0
      README.md
  2. 1 1
      application.fam
  3. 9 0
      docs/README.md
  4. 16 0
      docs/changelog.md
  5. 24 23
      views/xremote_common_view.c
  6. 2 1
      views/xremote_common_view.h
  7. 1 1
      xremote_app.c

+ 1 - 0
README.md

@@ -31,6 +31,7 @@ The application is compatible with standard `.ir` files. However, to ensure func
 Button name | Description
 ------------|-------------------
 `Power`     | Power
+`Eject`     | Eject
 `Setup`     | Setup/Settings
 `Input`     | Input/Source
 `Menu`      | Menu

+ 1 - 1
application.fam

@@ -6,7 +6,7 @@ App(
     requires=["gui", "dialogs", "infrared"],
     stack_size=3 * 1024,
     order=1,
-    fap_version="1.2",
+    fap_version="1.3",
     fap_category="Infrared",
     fap_icon_assets="assets",
     fap_icon_assets_symbol="xc",

+ 9 - 0
docs/README.md

@@ -48,3 +48,12 @@ Play_pa     | Play/Pause
 Pause       | Pause
 Play        | Play
 Stop        | Stop
+
+## Alternative button names
+
+In addition to the predefined names, XRemote uses alternative button names to make it as easy as possible to interact with different types of IR dumps. This means that if a button is not found in the file with the appropriate name, the application will try to find the same button with alternative names. Ensure this feature is enabled in the application settings before you use it.
+
+Alternate names are case insensitive and defined in the file:
+SD_Card/apps_data/flipper_xremote/alt_names.cfg
+
+If this file does not exist, it will be created automatically with default values when the application is launched. You are free to remove, edit or add any values you want to this file.

+ 16 - 0
docs/changelog.md

@@ -1,3 +1,19 @@
+## v1.3
+
+Alternative names
+
+- Implemented alternative names functionality
+- Added Eject button support
+- Fixed bugs
+
+## v1.2
+
+Bug fixing and performance improvements
+
+- Fixed build issues with new Flipper Zero SDK
+- Fixed several crashes and refactored code
+- Improved button search performance
+
 ## v1.1
 
 Custom layout and bug fixing

+ 24 - 23
views/xremote_common_view.c

@@ -18,29 +18,30 @@ static const XRemoteButton g_buttons[XREMOTE_BUTTON_COUNT + 1] = {
     {0, XREMOTE_COMMAND_POWER},
     {1, XREMOTE_COMMAND_SETUP},
     {2, XREMOTE_COMMAND_INPUT},
-    {3, XREMOTE_COMMAND_MENU},
-    {4, XREMOTE_COMMAND_LIST},
-    {5, XREMOTE_COMMAND_INFO},
-    {6, XREMOTE_COMMAND_BACK},
-    {7, XREMOTE_COMMAND_OK},
-    {8, XREMOTE_COMMAND_UP},
-    {9, XREMOTE_COMMAND_DOWN},
-    {10, XREMOTE_COMMAND_LEFT},
-    {11, XREMOTE_COMMAND_RIGHT},
-    {12, XREMOTE_COMMAND_JUMP_FORWARD},
-    {13, XREMOTE_COMMAND_JUMP_BACKWARD},
-    {14, XREMOTE_COMMAND_FAST_FORWARD},
-    {15, XREMOTE_COMMAND_FAST_BACKWARD},
-    {16, XREMOTE_COMMAND_PLAY_PAUSE},
-    {17, XREMOTE_COMMAND_PAUSE},
-    {18, XREMOTE_COMMAND_PLAY},
-    {19, XREMOTE_COMMAND_STOP},
-    {20, XREMOTE_COMMAND_MUTE},
-    {21, XREMOTE_COMMAND_MODE},
-    {22, XREMOTE_COMMAND_VOL_UP},
-    {23, XREMOTE_COMMAND_VOL_DOWN},
-    {24, XREMOTE_COMMAND_NEXT_CHAN},
-    {25, XREMOTE_COMMAND_PREV_CHAN},
+    {3, XREMOTE_COMMAND_EJECT},
+    {4, XREMOTE_COMMAND_MENU},
+    {5, XREMOTE_COMMAND_LIST},
+    {6, XREMOTE_COMMAND_INFO},
+    {7, XREMOTE_COMMAND_BACK},
+    {8, XREMOTE_COMMAND_OK},
+    {9, XREMOTE_COMMAND_UP},
+    {10, XREMOTE_COMMAND_DOWN},
+    {11, XREMOTE_COMMAND_LEFT},
+    {12, XREMOTE_COMMAND_RIGHT},
+    {13, XREMOTE_COMMAND_JUMP_FORWARD},
+    {14, XREMOTE_COMMAND_JUMP_BACKWARD},
+    {15, XREMOTE_COMMAND_FAST_FORWARD},
+    {16, XREMOTE_COMMAND_FAST_BACKWARD},
+    {17, XREMOTE_COMMAND_PLAY_PAUSE},
+    {18, XREMOTE_COMMAND_PAUSE},
+    {19, XREMOTE_COMMAND_PLAY},
+    {20, XREMOTE_COMMAND_STOP},
+    {21, XREMOTE_COMMAND_MUTE},
+    {22, XREMOTE_COMMAND_MODE},
+    {23, XREMOTE_COMMAND_VOL_UP},
+    {24, XREMOTE_COMMAND_VOL_DOWN},
+    {25, XREMOTE_COMMAND_NEXT_CHAN},
+    {26, XREMOTE_COMMAND_PREV_CHAN},
     {-1, NULL}};
 
 const char* xremote_button_get_name(int index) {

+ 2 - 1
views/xremote_common_view.h

@@ -20,10 +20,11 @@
 
 #include "../infrared/infrared_remote.h"
 
-#define XREMOTE_BUTTON_COUNT 26
+#define XREMOTE_BUTTON_COUNT 27
 #define XREMOTE_NAME_MAX 16
 
 #define XREMOTE_COMMAND_POWER "Power"
+#define XREMOTE_COMMAND_EJECT "Eject"
 #define XREMOTE_COMMAND_SETUP "Setup"
 #define XREMOTE_COMMAND_INPUT "Input"
 #define XREMOTE_COMMAND_MENU "Menu"

+ 1 - 1
xremote_app.c

@@ -253,7 +253,7 @@ XRemoteAppSettings* xremote_app_settings_alloc() {
     settings->orientation = ViewOrientationHorizontal;
     settings->exit_behavior = XRemoteAppExitPress;
     settings->repeat_count = 2;
-    settings->alt_names = 0;
+    settings->alt_names = 1;
     return settings;
 }