How to change buttons on Xiaomi Redmi: 5 proven ways

Why Change the Xiaomi Redmi Buttons and What You Need to Know Before You Start

Repositioning buttons on Xiaomi Redmi smartphones is a popular request among users who want to adapt the device to left-handedness, habits from previous phones or simply optimize ergonomics.In the Redmi line (from Redmi Note 8 Pro to Redmi). 13C) There are several ways to change the location of both the program navigation buttons and the physical keys (volume, power). MIUI, Smartphone models and even regional firmware.

Before you start settings, consider three key points: First, changing physical buttons (such as swap volume buttons) on most Redmi models requires root rights or engineering menus – this is risky for beginners. Second, program navigation buttons (for example, switching from gestures to classic Back-Home-Recent buttons) are configured via a standard menu, but on the other hand, the user can use the same button. MIUI 14 algorithm is different from MIUI 12.Third, some models (e.g., Redmi) K50 Or the Redmi Note 12 Pro.+) They have unique chips like Game Turbo, where the buttons are reassigned separately.

In this article, we'll take a look at all the current ways, from basic MIUI settings to advanced methods with ADB and modified firmware. If your goal is to simply swap the back and recent buttons in the navigation bar, you'll need the first two sections. For deep customization (for example, reassigning the power button to calling Google Assistant), read to the end.

Method 1: Change the navigation buttons through MIUI settings

The easiest and safest method is to use the built-in MIUI options. It is suitable for all Xiaomi Redmi models based on Android 10 and later (including MIUI 12/13/14).

  • πŸ”„ Change the "Back" and "Recent" buttons in classic navigation mode.
  • 🎯 Switch between gestures and buttons.
  • βš™οΈ Set up the sensitivity of gestures (to MIUI 14).

Step instructions:

  1. Open the Settings β†’ Display.
  2. Select the Full Screen Display (on the MIUI 14 may be called the navigation buttons).
  3. Slip on Navigation Style and select Buttons (if you use gestures).
  4. Activate the option to swap the "Back" and "Recent" buttons.

Check the version of MIUI in Settings β†’ About the phone

Make sure button mode (not gestures) is enabled

Take a screenshot of the current navigation settings

Close all background applications-->

On Redmi Note 11/12 and later, the menu also offers a navigation bar transparency and animation setting for swipes. If the Swipe option is inactive, you are using regional firmware with limited settings (for example, for India or China), in which case the ADB method (section 4) will help.

⚠️ Note: Redmi A-series (e.g. Redmi) A1+) and Android Go devices may not have the option of reassigning buttons due to a simplified shell.

Method 2: Reassign volume buttons (without root)

The physical volume buttons on Xiaomi Redmi are the default ones for adjusting the sound, but you can reassign them to other activities, such as scrolling pages in your browser or controlling your camera.

The best applications for the task:

  • πŸ“± Button Mapper (supports) MIUI 12-14, but requires permission to access settings).
  • πŸŽ›οΈ Volume Button Controller (specializes in button retention actions).
  • πŸ”§ MacroDroid (to create complex scenarios, such as "double down" = screenshot").

The following is the Button Mapper:

  1. Install the app from Google Play.
  2. Give permission to change system settings (a request will appear after the first run).
  3. Select the Volume Up button or the Volume Down button.
  4. Assign an action – for example, the Previous track or Open the app.
  5. Save the profile and test it.

πŸ’‘

If Button Mapper doesn’t see the button, try turning on the option in the app settings "ADB-Execute the command adb shell pm grant flar2.homebutton permission.WRITE_SECURE_SETTINGS computer.

Limitations of the method:

  • ❌ Not working. MIUI China (Global Firmware Requirement).
  • ❌ Some activities (such as calling Google Assistant) may be blocked by the system.
  • ❌ After updating MIUI settings may reset.

Method 3: Use of the Engineering Menu (for advanced)

Engineering menu (#4636##) on Xiaomi Redmi allows you to change the button settings at a low level, but this method is risky - incorrect settings can lead to loss of key functionality. K40).

Instructions:

  1. Open the Phone app and type ##4636##.
  2. Go to the Hardware Testing section (may be called Hardware Information).
  3. Select Audio β†’ Volume.
  4. In the Key test menu, find the Volume settings. Up/Down Then change their meanings (for example, KEYCODE_VOLUME_UP=25 β†’ KEYCODE_VOLUME_DOWN=24).

⚠️ Note: Some firmwares reset the changes to the engineering menu after rebooting. To fix them, you need to modify the file. /system/usr/keylayout/Generic.kl, What requires an unlocked bootloader.

Alternative path for MediaTek devices (e.g. Redmi 9A):

  • πŸ”§ Use the app. MTK Engineering Mode (available at APKMirror).
  • πŸ“Š Go to Hardware. β†’ Keys and change Keycode settings for buttons.
What to do if the engineering menu does not open?
Some models of Xiaomi code ##4636## Alternatives are blocked: 1. Install the Shortcut Master app and find the hidden activity of.EngineeringMode. 2. Connect to the PC and use it ADB-Command: Adb shell am start -n com.android.settings/.TestingSettings 3. On firmware with a remote engineering menu will help only custom recovery (TWRP).

Method 4: Reassign buttons via ADB (Universal Method)

If the standard methods didn’t work, ADB (Android Debug Bridge) is the most reliable tool for changing buttons on any Xiaomi Redmi.The method works on all versions of MIUI and does not require root rights, but you need permissions to debug over USB.

What can be done through ADB:

Action.Team team.Example of use
Switch back and recent.adb shell settings put secure sysui_nav_bar "space,back;home;recent,space"For left-handed or used to Samsung
Turn off the "Recent" button.adb shell settings put secure sysui_nav_bar "space,back;home,space"For a minimalist interface
Reassign a long press on the power buttonadb shell settings put global power_menu_long_press_torch 1Turning on a flashlight instead of a power menu
Change the volume button when blockingadb shell settings put global volume_key_cursor_control 1Control of the cursor in recovery

Step-by-step:

  1. Turn on USB Debugging in Settings β†’ About Phone β†’ MIUI Version (stick 7 times) β†’ Additional β†’ For Developers.
  2. Connect the phone to the PC and confirm the debugging permission.
  3. Open the command line (Windows) or terminal (Mac/Linux) and type: Adb devices Make sure the device is defined.
  4. Execute the required command from the table above.
  5. Reboot your phone (adb reboot).

πŸ’‘

ADB commands are temporary β€” after resetting or updating MIUI, they will have to be reused, and changes to system files via Magisk or TWRP are required to be made to permanently effect.

Method 5: Magisk Castom Firmware and Modules (for enthusiasts)

If you’re ready for experimentation, custom firmware like LineageOS, Pixel Experience or Xiaomi.eu offers flexible button settings that are not available in stock MIUI. For example, Xiaomi.eu can:

  • πŸ”„ Completely reassign any physical buttons (including the power button).
  • 🎚️ Set up actions for double/triple pressing.
  • πŸ”‡ Turn off the button vibrations.

To install custom firmware will require:

  1. Unlock the bootloader through the Mi Unlock Tool (waiting 7-14 days).
  2. Install TWRP or OrangeFox Recovery.
  3. Sweep firmware and Magisk (for root rights).

Popular Magisk button management modules:

  • πŸ”§ Button Mapper (Magisk) – an advanced version of the application with support for system changes.
  • πŸ”„ Swap Back/Recents β€” Specialized module for exchange of navigation buttons.
  • πŸŽ›οΈ Volume Key Seek – Media management with volume buttons.

⚠️ Note: On Redmi models with Dynamic RAM Expansion (e.g. Redmi Note 12 Pro)+) Some custom firmware may conflict with the virtual memory function. β†’ Additionally. β†’ Memory.

Frequent problems and their solutions

When you change buttons on Xiaomi Redmi, users experience typical errors. Here's how to fix them:

Problem.Reason.Decision
The buttons do not change places in the MIUI settings.Regional firmware (for example, for India)Install global firmware via Fastboot or use ADB
Button Mapper is not working.No permit. WRITE_SECURE_SETTINGSExecute the command ADB: adb shell pm grant flar2.homebutton android.permission.WRITE_SECURE_SETTINGS
After reassigning the power button, the phone is not blockedConflict with Magisk module or custom firmwareReverse changes or swipe through the original boot.img
The gestures stopped working after the buttons were changed.Resetting navigation settingsReturn to Settings β†’ Display β†’ Full-screen display and select gestures again

If after manipulating the buttons, the phone stopped responding to touches or got stuck on the Redmi logo, reset via Restore mode:

  1. Turn off the device.
  2. Press the Power button + Volume up for 10 seconds.
  3. In the recovery menu, select Wipe data (use volume buttons for navigation).

Navigation buttons ("Back" and "Recent")|Volume buttons|Power button|Control gestures|Other-->

Can I swap the volume buttons on Xiaomi Redmi without root?
Yes, but with limitations. Basic reassignment (for example, make the "volume up" button as "volume down") will do the Button Mapper or Volume Button Controller app. However, a complete replacement of functions (for example, assigning a camera to the volume button) will require root rights or ADB-team.
Why did the button settings reset after the MIUI update?
Updates MIUI User settings are often reset, especially if they have been made through ADB To avoid this, before updating: Save your current button settings (take screenshots or export your profile to Button Mapper). ADB Adb shell settings delete secure sysui_nav_bar. After the update, repeat the settings.
How to return the standard navigation buttons if they are lost after the experiments?
If the navigation bar has disappeared or the buttons have become non-clickable, follow: adb shell cmd overlay enable com.android.internal.systemui.navbar.gestural Then restart the phone. If that doesn't help, reset the settings through Settings β†’ System β†’ Resetting β†’ Reset all settings (app data will be saved).
Can you assign a Google Assistant call to Xiaomi Redmi power button?
Yes, but only through ADB Or Magisk. Standard settings. MIUI Use the command: adb shell settings put global power_button_assistant 1 Some models (e.g. Redmi Note) 11 Pro+) This may conflict with the function Double press to lock – disable it in the screen settings.
Why isn't my Redmi "Switch buttons" option in the settings?
This option is not available in: Firmware for China (China) ROM). Android Go models (e.g. Redmi) A1). Devices on MIUI 11 and older (update system).Solution: Install global firmware via Fastboot or use ADB-Teams from Method 4.