> For the complete documentation index, see [llms.txt](https://doc.i4e.com.bd/networking/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.i4e.com.bd/networking/doc/mode-button.md).

# Mode button with multiple presses

[◀ Go back to main README](/networking/master.md)

## Description

This script extend the functionality of mode button. Instead of just one you can trigger several actions by pressing the mode button several times.

The hardware needs to have a mode button, see `/ system routerboard mode-button`. Starting with RouterOS 6.47beta60 you can configure the reset button to act the same, see `/ system routerboard reset-button`.

Copy this code to terminal to check:

```
:if ([ :len [ /system routerboard mode-button print as-value ] ] > 0) do={
  :put "Mode button is supported.";
} else={
  :if ([ :len [ /system routerboard reset-button print as-value ] ] > 0) do={
    :put "Mode button is not supported, but reset button is.";
  } else={
    :put "Neither mode button nor reset button is supported.";
  }
}
```

## Requirements and installation

Just install the script:

```
$ScriptInstallUpdate mode-button;
```

Then configure the mode button to run `mode-button`:

```
/ system routerboard mode-button set enabled=yes on-event="/ system script run mode-button;";
```

To use the reset button instead:

```
/ system routerboard reset-button set enabled=yes on-event="/ system script run mode-button;";
```

## Configuration

The configuration goes to `global-config-overlay`, these are the parameters:

* `ModeButton`: an array with defined actions
* `ModeButtonLED`: led to give visual feedback

## Usage and invocation

Press the mode button. :)

[◀ Go back to main README](/networking/master.md)\
[▲ Go back to top](/networking/doc/mode-button.md#top)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.i4e.com.bd/networking/doc/mode-button.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
