Quick Start¶
This page aims to give users an introduction to the tvQuickActions app and a demonstration of how to set it up for the first time. For specific troubleshooting, consult the FAQ.
Setup¶
When you open the app for the first time, you will see a description of the tvQuickActions panel feature. Read it and press OK to continue.

The next page explains that it is impossible to make every feature work perfectly on every device. Please be patient, and if you have trouble, contact the author on Telegram or at tvdevv@gmail.com.

After that, you will see a QR code for our Telegram chat, where you can get help or suggest a new feature.

Display over other apps¶
Then the setup starts. First, the app asks you to enable the "Display over other apps" permission. This is one of the most important permissions for the app to work properly. Most features require it.

Press "Allow" to open device settings, find the app in the list, and turn this permission on. If permission settings do not open automatically on your device, go to device settings and then Apps -> Special access -> Display over other apps, and enable it for the app.

If the permission is granted correctly, you will see another message and a "Continue" button.
Usage access¶
The next slide is about the "Usage access" permission. It is required for remapping constraints, "Recent apps" features, and other functionality.

Press "Grant permission" to open app settings. Then go to Special access -> Usage access and enable it for tvQuickActions.

After the permission is granted, the message and buttons will change, and you will see "Continue".
Battery optimization¶
Disabling battery optimization is not required, but it is recommended. Press "Turn off" to open app settings. Go to Special access -> Energy optimization and disable optimization for tvQuickActions.

After successfully disabling battery optimization you will see "Continue".
Main screen & accessibility service¶
When you enter the main screen for the first time, you will see a message about the accessibility service. Enabling this service is the main requirement for the app to work.
IMPORTANT!
The app doesn't work without the accessibility service enabled.

Press "Agree" to enable the accessibility service; otherwise, the app will not work. After you press it, device settings will open. Go to System -> Accessibility -> tvQuickActions and enable it.

When you return to the app, you should no longer see messages about accessibility services. This means the service is enabled. You can see some tips on the main screen.

You can see the menu on the left side. Choose the "Mappings" submenu. It is the main menu for remapping buttons.

Mappings - remap buttons here¶
The app has one built-in mapping for the Back button. A red toggle means that this mapping is disabled, so the button uses its default function.
To remap a button, press "Add button" at the bottom of the screen.

Then you will see a dialog asking you to press the button you want to remap.
Button not recognized
Some buttons cannot be remapped in the default way. This depends on the device manufacturer. The app includes additional options to remap these buttons, but if you still cannot do it, please write to tvdevv@gmail.com.

Now press the button you want to remap. In this example, we will use the Mute button.

The next step is to choose a remapping type. You can choose between the tvQuickActions panel, usual action, and button emulation.

tvQuickActions panel¶
If you use the tvQuickActions panel type, you can set 5 actions for the D-pad directions (up, left, down, right) plus OK. 
Then, when you press the remapped button, you will see the tvQuickActions panel with your selected actions. Press up, left, down, right, or OK to run the action you need. 
Usual action¶
If you use the "Usual action" type, you can set actions for single, double, and long presses.

Button Emulation¶
IMPORTANT!
This function requires that you have the option 'Use ADB speed up' enabled, or that you set a supported virtual keyboard such as LeanKeyKeyboard, or tvQuickActions' own IME, as the default input method.
If you use the 'button emulation' type, you will be able to change the default action to one of your choice, for example sending the 'home' event instead of the original 'mute' key.

Available actions¶
Press any available option to set an action. For example, press "Button UP" to choose the action that will run when you press Up while the panel is displayed.


Then you will see a screen with all available actions. Here is some short information about each tab:
-
App - Choose an app to open, or an activity (long-press any app to see a list of activities).
-
Action - View a list of system actions, such as opening the home screen, power dialog, app side menu, or starting the screensaver.
- Features - Contains unique app features, such as sleep timer, app dock, mouse mode, night mode, recent apps for any device, and more.
- Menus & panels - Create or choose a menu or panel with custom actions.
- Macros - A sequence of actions to automate something.
- Keycode - Choose which button to emulate when you press the current button. For example, you can make the Mute button work as a Backspace/Delete button.
- TV inputs - If you use the app on an Android TV, you can choose a TV input as an action (switching to the selected input).
- App shortcut - Create shortcuts from apps that support them, then run those shortcuts on button press.
- Custom actions - A tab with powerful actions like ADB shell commands and intents. You can also create and map "tap screen" and "HTTP request" actions.
Example of remapping to tvQuickActions panel¶
In this example, we chose the YouTube app as an action from the "App" tab.

Now, when we press the Mute button, we will see the tvQuickActions panel with YouTube at the top. Then we can press Up on the D-pad to open YouTube. To close the panel, press Back. If we press Mute (the same button that was remapped to the panel) while the panel is open, it will run the default button action, which is mute in this case.
In the same way, you can choose actions for every panel button (if needed).

In this setup, you press the Mute button on the remote to open the panel. Then you can press Up to open YouTube, Left to take a screenshot, Right to open Play Store, Down to open the All Apps menu, OK to open device settings, and Mute to run the default button action.
Example of remapping with the usual action¶
Choose "Usual action" in "Button action type" if you want to keep the default Android button behavior with single, double, and long presses. Then choose an action for each press type you need.
Based on the choice shown in the screenshot above, I can now press once to open YouTube, press twice to take a screenshot, and hold the button to open the Sleep timer.
Example of remapping with the button emulation¶
Choose 'Button emulation' in 'Button action type', then press the option with the same name below. This function lets you change the original function of the key to another one of your choice. In the text box, you can either enter the numeric value directly or click the icon on the right to see a list of all available key events. In this example, we choose key value 3 (Home).

Below, you can choose between Hold and Repeat: Hold sends the key down event as soon as the button is pressed and the key up event when it is released, so the emulated key stays active for exactly as long as the physical button is held. In contrast, Repeat sends repeated key down and key up events at a set interval based on the options selected below.
