Reassign buttons to Xiaomi Redmi 9: 5 ways to change the location of the keys

Why users want to change buttons to Redmi 9 and what to know before you start

Owners of Xiaomi Redmi 9 often face an uncomfortable arrangement of physical buttons โ€” especially the volume keys, which can be accidentally pressed in your pocket or when playing. Another common reason is the habit of changing the order of buttons after switching from devices of other brands (for example, Samsung or iPhone), where the power key is located on the opposite side. Fortunately, MIUI allows you to flexibly adjust the functionality of the buttons, and for advanced features there are third-party utilities.

Before you start making changes, consider a few key points:

  • ๐Ÿ”„ Not all buttons can be reassigned through standard settings โ€“ for example, the power key has limited options due to system security.
  • โš™๏ธ Resetting the settings will return the buttons to their original state, so fix the changes with screenshots or records.
  • ๐Ÿ› ๏ธ Deep customization (e.g., a complete replacement of button functions) requires root rights, which cancels the warranty and increases the risk to the system.

In this article, weโ€™ll look at 5 proven ways to reposition buttons, from built-in MIUI tools to advanced apps. All methods tested on Redmi 9 with MIUI 12โ€“14 firmware (including global and Chinese versions). If your device runs on an older version, update the software via Settings โ†’ About Phone โ†’ System Update.

๐Ÿ“Š Why would you want to change the buttons on Redmi 9?
An uncomfortable location
Getting used to the other order
Often, I click randomly.
Experiment with settings
Other

Method 1: Reassign volume buttons via MIUI settings

The easiest and safest method is to use the built-in MIUI options, which are suitable for exchanging volume/down buttons and also for turning off their response to a short press.

  1. Open Settings and go to the Sound and Vibration section.
  2. Scroll down and select Volume buttons.
  3. Activate the option to change the volume buttons.

After that, the top button will turn down the volume and the bottom button will turn up, which works on all versions of Redmi 9 (including Redmi 9A, 9C, 9T) and does not require superuser rights.

Check out the MIUI version in Settings โ†’ About Phone

Make a backup copy of important data

Charge your phone at least 50%

Turn off Developer Mode if it has been activated previously-->

โš ๏ธ Note: Some custom firmware (e.g. LineageOS or Pixel Experience) may not have this partition. In this case, use Method 3 or Method 4 of this article.

If you need to not only swap the buttons in places, but also turn off their response to a single press (for example, to avoid accidentally turning on the camera), go to Settings โ†’ System โ†’ Gestures and deactivate the down Volume button option for the camera.

Method 2: Use One Hand Mode for Virtual Buttons

If you're annoyed by the physical location of the buttons, but you don't want to reassign them, you can activate One Hand mode, which reduces the screen size, making the control more convenient for the thumb, and this method is especially useful for users with small hands or using the phone with one hand.

To activate the regime:

  1. Go to Settings. โ†’ Additional functions.
  2. Select One-Hand Mode.
  3. Activate the slider and adjust the size of the reduced screen (options 3.5, 4.0" and 4.5 are available).
ParameterDescriptionRecommendation
Screen sizeDiagonal of reduced area (in inches)4.0 is optimal for most tasks
Method of activationGesture to activate the regimeSwipe by Home button (if any)
Auto-disconnectionTime to return to full screen mode5 seconds is enough for most activities

In One Hand mode, virtual navigation buttons (Back, Home, Recent) are shifted closer to the bottom edge of the screen, making them easier to use, but physical buttons (Power and Volume) will remain in place.

๐Ÿ’ก

If you have navigation gestures enabled (no buttons), the One Hand mode will automatically adapt the swipe area, making them more accessible to the thumb.

Method 3: Applications for button reassignment (without root)

For users who need more flexibility than MIUI offers, there are third-party apps, one of the most reliable is Button Mapper (available on Google Play).

  • ๐Ÿ”Š Volume buttons (including long press and double press).
  • ๐Ÿ”„ Power button โ€“ for example, make it run by voice assistant.
  • ๐Ÿ“ฑ Virtual navigation buttons (if displayed).

Instructions for setting up Button Mapper:

  1. Install the app from Google Play.
  2. Grant permission for Special Access (a request will appear when you first start).
  3. Select the button you want to reassign (such as Volume Up).
  4. Assign a new action from the list (for example, Open the camera or Turn on the flashlight).

The app supports conditional rules โ€“ for example, you can configure the volume button up to open Google Assistant only when the screen is off. However, note that some actions (for example, completely disabling the power button) can conflict with system processes.

โš ๏ธ Attention: MIUI 14 Button Mapper may require additional permissions through the ADB. If the application is not working, follow the command: adb shell pm grant flar2.homebutton android.permission.WRITE_SECURE_SETTINGS (setup ADB see in the Method 5).

Method 4: Reassign buttons with ADB (for power users)

If standard methods and applications don't offer the flexibility you need, you can use ADB commands (Android Debug Bridge), which allows you to change system settings that are not available through the GUI.

  • ๐Ÿ”€ Completely change places Volume Up and Volume Down.
  • ๐Ÿšซ Turn off the button response to a short press.
  • ๐Ÿ”„ Assign new functions to buttons (for example, launching an application).

The work will require:

  1. A computer with ADB drivers installed.
  2. Developer Mode on the phone (activated by 7-fold pressing on the Assembly Number in Settings โ†’ About the phone).
  3. USB-cable to connect Redmi 9 to PC.

Example of commands for exchanging volume buttons:

adb shell settings put system swap_volume_keys 1

To return the original location, replace 1 by 0.

List of useful ADB-Teams for Redmi 9
Disable the power button when locking: adb shell settings put global power_button_behavior 0 Assign a long press on Volume Down for screenshot: adb shell settings put system screenshot_by_volume_down 1 Show the reboot menu when holding Power + Volume Up: adb shell settings put global advanced_restart 1

On Redmi 9 with firmware MIUI 13+ some ADB-commands may be blocked by Xiaomi's security policies, in which case, before executing commands, you must disable signature verification. MIUI:

adb shell setprop persist.security.adbd 1

Method 5: Complete root customization (for advanced)

If you're willing to sacrifice the warranty for maximum freedom, getting root rights will give you access to modifying the system files that drive the buttons, for example:

  • ๐Ÿ”ง Reassign any button (including Power) to any action.
  • ๐Ÿ“ฑ Change button behavior depending on the application (e.g. in games).
  • ๐Ÿ”„ Create custom combinations (e.g. Volume Up) + Power to start shooting mode).

This will require:

  1. Unlock the bootloader through the official Xiaomi tool.
  2. Install custom recovery (TWRP).
  3. Switch to Magisk to get root rights.

Once you get root, use apps like Xposed Framework or Tasker to fine-tune it, for example, using the Xposed Additions module, you can assign the Volume Down button to start Google Pay with double tap.

โš ๏ธ Attention: On Redmi 9 with a MediaTek Helio processor G80 Unlocking the bootloader can lead to data loss in the section /data. Always make a backup copy through TWRP before manipulation!

๐Ÿ’ก

Getting a root license on Xiaomi voids the warranty and may disrupt services (such as banking applications or DRM-protected content on Netflix).

Frequent problems and their solutions

When reassigning buttons, Redmi 9 users often encounter common errors, and here are the most common ones and how to fix them:

Problem.Possible causeDecision
Buttons do not change places in the settingsCustom firmware installedUse Button Mapper or ADB
The reassignment app is not workingLack of permitsGrant rights through ADB (see Method 4)
After reassignment, the power button does not workConflict with System ProcessesReset button settings in Button Mapper or via ADB
ADB-commands are not appliedBlock MIUITurn off signature verification (see section above)

If after the changes, the phone stopped responding to buttons at all, reset your settings via Recovery:

  1. Turn off the device.
  2. Press the Power + Volume Up before the MI logo appears.
  3. In the recovery menu, select Wipe & Reset. โ†’ Reset Settings.

This will return all buttons to their original state without losing data.

Can I swap the power and volume buttons on Redmi 9?
No, you can physically swap the buttons without disassembling the device (which voids the warranty), but you can reassign their functions software--for example, have the Power button adjust volume and the volume buttons lock the screen--which requires root rights or an application like Button Mapper with extended resolutions.
Why did the button settings reset after the MIUI update?
The firmware update often resets custom settings related to system settings (including button reassignment).To avoid this: Before updating, capture the current settings with screenshots. Use Button Mapper with AutoSave Rules option. After updating, re-apply ADB commands (if you have used them before).
Can I turn off the power button completely?
Technically, but it's not recommended. The Power button is critical for: Start/Stop the device; crash reboot when you freeze; log in to Fastboot or Recovery modes. If you need to turn off its short-press response (for example, to avoid accidentally locking the screen), use Button Mapper to assign an alternative action (for example, launch an application).
How to return the standard button location?
It depends on how you changed it: If you used the settings MIUI โ€” Just deactivate the option to swap volume buttons. If you used Button Mapper, open the app and press Reset to Default. ADB โ€” The command is: adb shell settings put system. swap_volume_keys 0
Will the button reassignment on Redmi 9 work after resetting to factory settings?
No, factory resets will bring all buttons back to their original state, including: MIUI settings, rules in Button Mapper (unless backup is enabled), changes made through ADB. The only way to save customization after reset is to use root rights and edit system files directly (e.g. /system/usr/keylayout/...).