How to change the location of the buttons on Xiaomi Redmi 9: all ways

Xiaomi Redmi 9 owners often face uncomfortable navigation buttons, especially if they are used to a different order on previous smartphones. The default MIUI button is on the right, and most other Android devices are on the left. Fortunately, the system allows you to flexibly adjust both the classic three buttons (Back, Home, Recent) and gesture controls. In this article, we will discuss all available methods for changing the location of the buttons, including hidden settings and solutions for custom firmware.

It’s important to understand that the customization options depend on the MIUI version. On Redmi 9, MIUI 11/12 is installed out of the box, but many users have already upgraded to MIUI 13 or MIUI 14. We’ll look at options for all current versions, and also tell you how to return the classic buttons if you accidentally switched to gestures. If your smartphone runs on Android 10 with MIUI 12.5 and later, additional options for customizing gesture sensitivity are available – these will also be touched.

1. Standard method: changing the order of buttons in the MIUI settings

The easiest method is to use the built-in settings. It works for all MIUI versions on Redmi 9 if you use classic navigation buttons (three buttons at the bottom of the screen).

  1. Open the Settings app (the gear icon on the home screen).
  2. Go to the Display section.
  3. Select Full-screen mode (in some versions – Navigation buttons).
  4. Slip the navigation buttons option (if gestures are active, switch to the buttons first).
  5. Activate the switch Reverse button order.

Then the buttons will swap places: Back to left and Recent to right. Changes apply instantly, no reboot required. Note: MIUI 14 may call this button location and may be in the submenu Additional.

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

Make sure that the classic buttons (not gestures) are active

Close all applications before changing settings

Reboot your phone if the changes don’t apply-->

⚠️ Note: Some third-party firmware (e.g. Pixel Experience or LineageOS) may not have this option. ADB third-party.

2.Gestural control setup on Redmi 9

If you prefer gestures over classic buttons, MIUI has a few options for customizing them. Gestures on Redmi 9 are swiped from the bottom edge of the screen:

  • πŸ”™ Backwards: swipe from right to left from the edge of the screen.
  • 🏠 Home: Swipe up from the bottom edge (short or long depending on the settings).
  • πŸ“„ Recent applications: swipe up with pause or diagonal swipe.

To tune the gestures:

  1. Go to Settings β†’ Display β†’ Full-screen mode.
  2. Choose Gestures (or Gesture Control in newer versions).
  3. Slip by Gesture Type and select MIUI Gestures or Android Gestures (the latter option is closer to the standard Android 10+).
  4. In the Sensitivity section, adjust the width of the swipe zone (it is useful if the gestures are triggered by accident).

MIUI 14 has introduced the option to Show Navigation Barriers, which adds a thin line at the bottom of the screen to make it easier to navigate when using gestures. If you've just switched from buttons to gestures, we recommend turning this option on for the first few days.

Classic three buttons

MIUI gestures

Android gestures (swipe)

Disable the navigation bar (using the bar)

Other-->

3.Using ADB for deep button customization

If standard options aren’t enough (like you want to remove the navigation bar completely or reassign button actions), you can use Android Debug Bridge (ADB), a method that requires connecting the phone to your computer and enabling developer mode.

Here's how it works:

  1. Activate Developer Mode: Go to Settings β†’ About Phone and tap on MIUI Version 7 times.
  2. Return to the basic settings, open Additional β†’ For developers and enable debugging over USB.
  3. Connect Redmi 9 to your PC and confirm the debugging permission on your phone.
  4. Open the command line (Windows) or terminal (macOS/Linux) and type:
adb shell settings put global policy_control immersive.full=*

This command completely hides the navigation bar, leaving only gestures. To return the buttons, use:

adb shell settings put global policy_control null

To reassign the button actions (for example, double-click on Home to run Google Assistant) will require additional commands. the full list of options can be found in the Android documentation for setting up policy_control.

⚠️ Attention: Misuse of the right ADB This can cause interface failures. Before experimenting, back up your settings through Settings. β†’ Additionally. β†’ Backup and reset.

What if the ADB does not recognize the device?
If the adb device command doesn’t show your Redmi 9, try this: 1. Install official Xiaomi drivers from the manufacturer’s website. 2. Check if debugging is enabled by USB In the developer settings. 3. Try another one. USB-cable (preferably original). 4. Reboot your phone and PC. 5. In the command line, type in adb kill-server, then adb start-server and reconnect.

4. Third-party applications for button customization

If you want more flexibility than MIUI offers, you can use third-party utilities.

  • πŸ”§ Button Mapper – allows you to reassign the actions of physical and virtual buttons (for example, make a long press on Volume Down to start the camera).
  • πŸŽ›οΈ Fluid Navigation Gestures – adds custom gestures with extensive customization options (including swipe zone change and animations).
  • πŸ“± Nacho Notch – useful if the navigation bar conflicts with the screen cutout (allows you to hide or move it).

Before installing third-party applications:

  1. Check reviews and rankings on Google Play (avoid programs with a score below 4.0).
  2. Make sure the app supports Android 10/11 (Redmi 9 runs on these versions).
  3. Check the permissions you request – some utilities require special access to handle gestures.

Example of settings in Button Mapper:

  1. Open the application and give access to Special Opportunities.
  2. Select the button you want to reassign (such as Recent).
  3. Set up a new action (such as Starting Google Assistant or Opening the Notification Panel).
  4. Save settings and restart the launcher (if no changes apply).

πŸ’‘

If after installing a third-party button app, gestures stopped working, try turning off the "Show navigation bar" option in the MIUI settings. Some utilities conflict with built-in gestures.

5. Features of settings on custom firmware

If you have an alternative firmware installed on Redmi 9 (e.g. Pixel Experience, LineageOS or HavocOS), the button setting process may be different. Most custom builds use the standard Android menu, where additional options are available:

FirmwareThe path to button settingsAdditional opportunities
Pixel ExperienceSettings β†’ System β†’ Gestures β†’ System navigationSupport for Android 12+ gestures, sensitivity settings
LineageOSSettings β†’ Buttons β†’ Navigation panelReassign buttons, change order, hide the panel
HavocOSSettings β†’ Havoc Settings β†’ NavigationAdding additional buttons, setting up animations
MIUI by XDASettings β†’ Display β†’ Full-screen modeExtended gestures, ADB support without restrictions

Custom firmware often offers the option of Additional buttons, allowing you to add a fourth or fifth button to the navigation bar (for example, to quickly start Google Assistant or Screen Recorder).

If after firmware custom software navigation buttons are missing or work incorrectly, try:

  1. Reset the launcher settings (Settings β†’ Applications β†’ Launcher β†’ Storage β†’ Clear Data).
  2. Switch to a different type of navigation in the system settings.
  3. Install Magisk for gesture correction (e.g. Fluid Navigation Gestures Magisk Module).

6. Solve button problems on Redmi 9

Sometimes, after changing the settings, the navigation buttons may malfunction, and here are the most common problems and solutions:

  • ❌ Buttons do not respond: restart your phone or reset your launcher settings (Settings) β†’ Annexes β†’ Launcher β†’ Clear the cache).
  • ⚑ Gestures are triggered by chance: reduce sensitivity in Settings β†’ Display. β†’ Gestures β†’ Sensitivity.
  • πŸ”„ Buttons are reset after the update: update MIUI until the latest version or reset settings through Settings β†’ Additionally. β†’ Resetting settings (select Resetting interface settings).
  • πŸ–₯️ Navigation panel is gone: check if Hide navigation bar is activated in the developer settings.

If the problem persists, try to return the standard settings via ADB:

adb shell cmd overlay enable com.android.internal.systemui.navbar.gestural

This command will reset the navigation bar to factory parameters.

⚠️ Note: On some versions MIUI After resetting the settings, you may need to re-activate gestures through Settings β†’ Display. β†’ Full screen mode: If the buttons still don’t work, check if the ad blocking app you installed (such as AdGuard or Blokada) is in conflict with the system, which sometimes blocks system processes.

πŸ’‘

Before resetting your button settings, always check to see if left-handed mode is enabled in the special features settings, which can automatically change the location of interface elements, including the navigation bar.

7.Alternative methods: virtual buttons and launchers

If you don’t have the standard buttons or gestures, you can consider alternative solutions:

  • 🎯 Virtual buttons in games: Some launchers (like Nova Launcher or Apex Launcher) allow you to add virtual buttons on the home screen for quick access to features.
  • πŸ–ΌοΈ Floating panels: Apps like Floating Apps or Side Actions create floating buttons that can be placed anywhere on the screen.
  • πŸ•ΉοΈ Game modes: in MIUI There is a built-in turbo game mode (Settings) β†’ Special facilities β†’ Game mode), which adds virtual buttons Back and Home on top of games.

To activate the floating buttons in Nova Launcher:

  1. Install and activate Nova Launcher as the default launcher.
  2. Go to Settings Nova β†’ Gestures and buttons β†’ Additional gestures.
  3. Choose Add a gesture and assign an action (like Back or Recent).
  4. On the main screen, swipe up with a delay - a virtual button will appear.

The advantage of this method is that you can place buttons anywhere on the screen, not just at the bottom, but note that virtual buttons can interfere with some applications (such as games or video players).

FAQ: Frequent questions about setting buttons on Xiaomi Redmi 9

Can I swap buttons without the developer mode?
Yes, standard MIUI settings have the option of reverse button order (see section 1). Developer mode is only needed for deep customization through ADB.
Why did the MIUI update reset the buttons to the standard look?
This is a known problem with some versions of MIUI. To return your settings, go to Settings β†’ Display β†’ Full-screen mode and re-select the desired navigation type. If this does not help, reset the interface settings through Settings β†’ Additional β†’ Reset settings.
How to remove the navigation bar completely and leave only gestures?
Enable gesture control in Settings β†’ Display. β†’ Full screen mode β†’ If the panel is still showing, use it. ADB-Adb shell settings put global policy_control immersive.full=* To return the panel, type: adb shell settings put global policy_control null
Can I set a double-click on the home button to start the camera?
This feature is not available in standard MIUI, but you can use the Button Mapper app (requires Special Access in Android settings).The alternative is to activate Quick Camera Start with a double press on the power button (Settings β†’ Screen Lock β†’ Camera Fast Start).
Why do gestures work unstable after installing the shell (launcher)?
Some launchers (e.g. Microsoft Launcher or Action Launcher) conflict with MIUI gestures. Solutions: Turn off gestures in the launcher (Startcher settings β†’ Gestures). Use the standard MIUI launcher. Install Fluid Navigation Gestures module via Magisk (root rights required).