How to change the location and functions of the buttons on Xiaomi: 5 proven ways

Have you ever wondered why Xiaomiโ€™s Back button is on the left rather than the right, like other Android devices? Or would you like to reassign physical volume buttons to quickly launch the camera? In this article, weโ€™ll explore all the possible ways to change the location and function of buttons on Xiaomi smartphones and tablets, from software settings to hidden firmware capabilities.

Itโ€™s important to understand that reassignment options depend on the shell version (MIUI or HyperOS), the device model, and even regional firmware. For example, the Redmi Note 12 with global MIUI 14 has some options available, while the Xiaomi 13 Ultra with Chinese HyperOS has a completely different one. Weโ€™ll look at the universal methods that work on most devices, and also point out the nuances for specific models.

If you want to not just swap the soft buttons, but also assign new features to the physical keys (like launching Google Assistant by double-pressing the power button), you'll need additional tools, some of which require unlocking the bootloader and superuser rights, which we'll talk about, but with warnings about possible risks.

1. Reassignment of navigation buttons

The easiest way to change the location of the buttons is to adjust the navigation bar to standard system settings, which works on all Xiaomi devices with MIUI 10 and later, as well as on HyperOS.

To swap the Back, Home and Recent buttons, follow the following steps:

  1. Open the Settings โ†’ Screen.
  2. Select the Navigation Panel (or System Navigation in HyperOS).
  3. Click on the button location.
  4. Choose one of the proposed options: ๐Ÿ”„ Standard (Back-Home-Recent) ๐Ÿ”„ Reverse (Recent-Home-Back) ๐ŸŽฏ Gestures (full-screen control)

Some models (such as the POCO F5 or Xiaomi 12T) offer an optional option with smooth repositioning animations, and if you donโ€™t have one, your firmware doesnโ€™t support it, which is a manufacturerโ€™s limitation, not a mistake.

Check the version. MIUI/HyperOS In Settings โ†’ The phone.

Backup settings in Settings โ†’ Additional โ†’ Backup

Make sure the device has enough charge (minimum 30%)

Close all background applications for correct operation of changes-->

If the buttons are not working properly after changing the location (for example, the reaction is delayed or vibrations are lost), try:

  1. Reset the device.
  2. Reset the navigation bar settings to standard (Settings โ†’ Screen โ†’ Navigation Panel โ†’ Reset).
  3. Clear the Launcher app cache (Settings โ†’ Applications โ†’ Application Management โ†’ Launcher โ†’ Clear the cache).

To access these settings:

  1. Go to Settings โ†’ Additional โ†’ buttons and gestures.
  2. Select the desired button (for example, the power button).
  3. Activate or reassign the actions.

On some devices (such as the Redmi K60 or POCO X5 Pro), the Quick Action option is available in this menu, where you can assign application launches using button combinations. For example, Holding Volume Up + Power can open Google Pay or enable Do Not Disturb mode.

What models support button reassignment without root?
The full list of models with support for advanced button settings includes: - Xiaomi 11/12/13/14 series (all models) - Redmi Note 10/11/12 (except Lite versions) - POCO F3/F4/F5 and POCO X3/X4/X5 Pro - Black Shark 4/5 (additional game settings) On budget models (for example, Redmi A2 or POCO C50), these options are often absent due to hardware platform limitations.

On devices with Qualcomm Snapdragon 8 Gen 2 processor (such as Xiaomi 13 Pro), reassigning volume buttons to media control may conflict with game mode, in which case it is recommended to disable the option "Game acceleration" in the battery settings.

3.Use of applications for extended reassignment

If standard settings are not enough, you can use third-party applications, the most popular and proven:

AnnexFunctionsNeed root?Compatibility
Button MapperReassign any physical and software buttons, create custom gesturesNo (but with limitations)MIUI 12+, HyperOS, Android 10+
Xposed EdgeAdding virtual buttons on the edges of the screen, gesturesYes (requires LSPosed)Only for firmware with Xposed support
TaskerCreating complex button-click scenarios (e.g., running macros)No.All versions of MIUI/HyperOS
Fluid Navigation GesturesReplacement of software buttons with gestures with additional optionsNo.Android 9+ (may conflict with MIUI-gesture)

Letโ€™s look at the Button Mapper example:

  1. Download the app from Google Play.
  2. Permission to use Special Options (required to intercept pressing).
  3. Select a button to reassign (such as Volume Down).
  4. Set up a new action: ๐Ÿ“ฑ Launch of the application ๐Ÿ”Š Media Management (play/pause, next track) ๐Ÿ”ฆ Lighting up the flashlight ๐Ÿ”„ Simulation of pressing another button

Save the settings and test.

Note that Xiaomi with HyperOS Button Mapper may not work with volume buttons due to system limitations, in which case only root rights will help.

Volume buttons

Power button

Software navigation buttons

Physical buttons on headphones

Other-->

Compatibility Warning: Apps like Xposed Edge require the LSPosed framework to be installed, which is only possible on unlocked devices. Incorrect installation can lead to bootloop, especially on devices with Dynamic RAM Expansion (such as the Redmi Note 12 Pro+).

4. Reassign buttons with ADB (no root)

For power users, there is a way to change button functions through ADB (Android Debug Bridge), a method that does not require root rights, but requires a connection to a computer and the developer mode.

Here's how it works:

  1. Activate Developer Mode: Go to Settings โ†’ About Phone. Click 7 times on MIUI Version. Return to Settings โ†’ Additional โ†’ Developer.

USB debugging

adb shell settings put secure sysui_nav_bar "space,back;home;recent,space"

This command switches the "Back" and "Recent" buttons.

adb shell settings put global volume_key_long_press_torch 1

(This will set the volume button to turn on the flashlight.)

Complete list ADB-commands for reassigning buttons to Xiaomi:

Team team.Action.
adb shell settings put secure sysui_nav_bar "space,recent;home;back,space"Switching "Back" and "Recent"
adb shell settings put global power_button_end_call 1Ends the call with a power button
adb shell settings put global volume_key_cursor_control 1Uses volume buttons to navigate in recovery
adb shell settings put global camera_double_press_power_gesture 1Double power tap to start the camera

โš ๏ธ Attention: Some ADB-Teams may conflict with Xiaomi's proprietary features, such as POCO F4 GT The command to reassign volume buttons turns off the game triggers. Before experimenting, back up through adb backup.

5. Reassign buttons with root rights (advanced level)

If youโ€™re willing to take drastic measures, root rights and the Xposed Framework app (or its LSPosed equivalent) can reassign any buttons, including hardware, a method thatโ€™s suitable for enthusiasts who want to, for example, assign a Google Assistant to the volume button or create custom combinations for game mode.

Step-by-step:

  1. Unlock the bootloader through Mi Unlock Tool (the official utility from Xiaomi).
  2. Install custom recovery (TWRP or OrangeFox).
  3. Please use Magisk to obtain root rights.
  4. Install LSPosed and the Xposed Edge or GravityBox module.
  5. In the module settings, reassign the buttons: ๐ŸŽฎ Assign volume buttons to control in games (e.g. shooting/squatting in the game) PUBG Mobile). ๐Ÿ”ง Create combinations to quickly switch sound profiles. ๐Ÿ”„ Reassign a long press on the power button (for example, to reboot in recovery).

On HyperOS devices (e.g. Xiaomi) 14 Pro) after obtaining root rights, it will be additionally necessary to disable MIUI Optimization with Magisk Module Disable_MIUI_Optimization, Otherwise, the system will reset the button settings after rebooting.

๐Ÿ’ก

Getting root rights voids Xiaomiโ€™s official warranty and could lead to problems with the company. OTA-On Knock Code devices (such as Xiaomi Civi 3), unlocking the bootloader also disables this feature.

โš ๏ธ Note: On new Xiaomi devices (2023โ€“2026) with Snapdragon 8 Gen 3 or Dimensity 9300 processors, unlocking the bootloader may result in hardware locking the module NFC or UWB. Before the procedure, check the information on the forum. XDA Developers for your model.

6.Reassign buttons on smartwatches and fitness bracelets Xiaomi

Not only are Xiaomi smartphones capable of customizing buttons, but there are similar options in smartwatches (Mi Watch, Watch S3) and fitness bracelets (Mi Band 8, Smart Band Pro).

For example, on the Xiaomi Watch S3 you can:

  • ๐Ÿ”„ Reassign the action by double pressing the physical button (by default โ€“ start the workout).
  • ๐Ÿ“ฑ Change the swipe function down (for example, from Notifications to Weatherยป).
  • ๐Ÿ”‹ Set up action when holding the button (turning off or starting the voice assistant).

For this:

  1. Open the Mi Fitness app (or Zepp Life for new models).
  2. Go to Device Profile โ†’ Settings โ†’ Buttons and gestures.
  3. Select the desired button and assign a new action.

The following options are available on the Mi Band 8:

  • ๐Ÿƒ Starting a screen-pressing training session.
  • ๐Ÿ”ฆ Lighting up when raising your hand.
  • ๐Ÿ“ต Disabling the notifications on double touch.

โš ๏ธ Note: On the Xiaomi Watch 2 Pro (with Wear) OS) Reassignment of buttons may conflict with the branded features of Google Assistant. If after the changes lost access to the voice assistant, reset the clock settings through the Wear app OS.

7. Solving problems after reassigning buttons

If after changing the settings buttons stopped working or the device behaves unstable, use these tips:

Problem 1: Navigation buttons are not responsive

  • ๐Ÿ”„ Reset the device.
  • ๐Ÿ”ง Reset the navigation bar settings in Settings โ†’ Screen. โ†’ Navigation panel โ†’ Drop it.
  • ๐Ÿ“ฑ Update the firmware (possibly the bug has been fixed in the new version).

Problem 2: Physical buttons donโ€™t work properly after ADB-team

  • ๐Ÿ–ฅ๏ธ Cancel changes by command: adb shell settings delete secure sysui_nav_bar
  • ๐Ÿ”„ Perform a reset of settings through Settings โ†’ System system โ†’ Resetting settings โ†’ Reset all settings (without deleting data).

Problem 3: Conflict with the game mode

  • ๐ŸŽฎ Turn off the game acceleration in Settings โ†’ Battery โ†’ Game mode.
  • ๐Ÿ”ง In Button Mapper, add an exception for gaming apps.

Problem 4: After getting root buttons stopped working

  • ๐Ÿ”ง Check if the module is installed. Disable_MIUI_Optimization Magisk.
  • ๐Ÿ“ฑ Reinstall the firmware through TWRP Disabled DM-Verity.

If none of the methods worked, please contact the official Xiaomi forum or support team with the following information:

  • Models of the device.
  • Firmware versions (Settings) โ†’ The phone. โ†’ Version. MIUI/HyperOS).
  • Describe the problem (which buttons donโ€™t work, after which actions).

FAQ: Frequent questions about reassigning buttons to Xiaomi

Can you swap the Back and Recent buttons on all Xiaomi devices?
On most devices with MIUI 10+ or HyperOS, this can be done via Settings โ†’ Screen โ†’ Navigation Bar. However, on some budget models (such as the Redmi A1 or POCO C40), this option may not be available due to firmware limitations.
Why did the volume buttons stop working in games?
This is due to a conflict between user settings and Xiaomi's game mode. To fix: Open Settings โ†’ Battery โ†’ Game Mode. Turn off Gaming Acceleration. In Button Mapper, add the game to the exclusion list. On devices with MediaTek Helio G (such as the Redmi Note 12 4G), you may need to completely reset your gaming settings.
How to return standard button settings after experimenting with ADB?
The command is: adb shell settings delete secure sysui_nav_bar If it doesnโ€™t help, reset all settings through Settings. โ†’ System system โ†’ Resetting (select Reset application settings to avoid losing data).
Can I reassign the Bixby button to Xiaomi (if I have one)?
Xiaomi devices donโ€™t have a Bixby button (this is a Samsung feature).However, if youโ€™re referring to an additional programmable button (like on Black Shark 5 Pro), it can be reassigned via: Settings โ†’ Additional โ†’ Buttons and gestures โ†’ Game buttons. Shark Space app (for gaming smartphones).
Will the button reassignment work after the firmware update?
It depends on the method: ๐Ÿ”„ Standard settings MIUI/HyperOS โ€” persist. ๐Ÿ–ฅ๏ธ ADB-Commands - reset (will need to be repeated after the update). ๐Ÿ”ง Root + Xposed โ€“ can break if the update changes system files. HyperOS updates often reset user button settings, even standard ones.