2020-08-13 11:07:40 +00:00
|
|
|
|
Mode button with multiple presses
|
2020-03-27 20:48:25 +00:00
|
|
|
|
=================================
|
|
|
|
|
|
2023-01-10 13:45:27 +00:00
|
|
|
|
[⬅️ Go back to main README](../README.md)
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2022-02-12 12:05:56 +00:00
|
|
|
|
> ℹ️ **Info**: This script can not be used on its own but requires the base
|
2022-02-11 22:34:39 +00:00
|
|
|
|
> installation. See [main README](../README.md) for details.
|
2021-05-03 13:07:50 +00:00
|
|
|
|
|
2020-03-27 20:48:25 +00:00
|
|
|
|
Description
|
|
|
|
|
-----------
|
|
|
|
|
|
2020-10-16 06:24:19 +00:00
|
|
|
|
This script extend the functionality of mode button. Instead of just one
|
2020-03-27 20:48:25 +00:00
|
|
|
|
you can trigger several actions by pressing the mode button several times.
|
|
|
|
|
|
|
|
|
|
The hardware needs to have a mode button, see
|
2022-05-11 08:17:53 +00:00
|
|
|
|
`/system/routerboard/mode-button`. Starting with RouterOS 6.47beta60 you
|
2020-04-24 18:47:47 +00:00
|
|
|
|
can configure the reset button to act the same, see
|
2022-05-11 08:17:53 +00:00
|
|
|
|
`/system/routerboard/reset-button`.
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2020-09-08 15:16:51 +00:00
|
|
|
|
Copy this code to terminal to check:
|
|
|
|
|
|
|
|
|
|
```
|
2022-05-11 08:17:53 +00:00
|
|
|
|
:if ([ :len [ /system/routerboard/mode-button/print as-value ] ] > 0) do={
|
2020-09-08 15:16:51 +00:00
|
|
|
|
:put "Mode button is supported.";
|
|
|
|
|
} else={
|
2022-05-11 08:17:53 +00:00
|
|
|
|
:if ([ :len [ /system/routerboard/reset-button/print as-value ] ] > 0) do={
|
2020-09-08 15:16:51 +00:00
|
|
|
|
:put "Mode button is not supported, but reset button is.";
|
|
|
|
|
} else={
|
|
|
|
|
:put "Neither mode button nor reset button is supported.";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2020-03-27 20:48:25 +00:00
|
|
|
|
Requirements and installation
|
|
|
|
|
-----------------------------
|
|
|
|
|
|
2020-10-16 06:24:19 +00:00
|
|
|
|
Just install the script:
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2020-10-16 06:24:19 +00:00
|
|
|
|
$ScriptInstallUpdate mode-button;
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2020-10-16 06:24:19 +00:00
|
|
|
|
Then configure the mode button to run `mode-button`:
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2022-05-11 08:17:53 +00:00
|
|
|
|
/system/routerboard/mode-button/set enabled=yes on-event="/system/script/run mode-button;";
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2020-04-24 18:47:47 +00:00
|
|
|
|
To use the reset button instead:
|
|
|
|
|
|
2022-05-11 08:17:53 +00:00
|
|
|
|
/system/routerboard/reset-button/set enabled=yes on-event="/system/script/run mode-button;";
|
2020-04-24 18:47:47 +00:00
|
|
|
|
|
2020-03-27 20:48:25 +00:00
|
|
|
|
Configuration
|
|
|
|
|
-------------
|
|
|
|
|
|
2020-10-23 19:33:38 +00:00
|
|
|
|
The configuration goes to `global-config-overlay`, these are the parameters:
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
|
|
|
|
* `ModeButton`: an array with defined actions
|
2020-10-23 19:33:38 +00:00
|
|
|
|
* `ModeButtonLED`: led to give visual feedback
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
2023-06-07 12:13:37 +00:00
|
|
|
|
> ℹ️ **Info**: Copy relevant configuration from
|
|
|
|
|
> [`global-config`](../global-config.rsc) (the one without `-overlay`) to
|
|
|
|
|
> your local `global-config-overlay` and modify it to your specific needs.
|
|
|
|
|
|
2020-03-27 20:48:25 +00:00
|
|
|
|
Usage and invocation
|
|
|
|
|
--------------------
|
|
|
|
|
|
2022-05-11 08:17:53 +00:00
|
|
|
|
Press the mode button. 😜
|
2020-03-27 20:48:25 +00:00
|
|
|
|
|
|
|
|
|
---
|
2023-01-10 13:45:27 +00:00
|
|
|
|
[⬅️ Go back to main README](../README.md)
|
|
|
|
|
[⬆️ Go back to top](#top)
|