Replacement of navigation buttons on Xiaomi Redmi 9 Pro: from gestures to ADB

Xiaomi Redmi 9 Pro with factory settings uses classic virtual navigation buttons (β€œBack”, β€œHome”, β€œRecent”), but many users want to switch to gesture control or change their location. In this article, we will analyze all the working methods from standard MIUI settings to hidden functions and modifications through ADB.

Important: the methods vary in complexity and consequences. For example, gestures out of the box do not require superuser rights, and reassigning buttons through ADB can reset after the system update. We tested each method on the Redmi 9 Pro with MIUI 12–14 (Android 10–12) β€” the results are summarized in the comparison table below.

If you want to not just hide the buttons, but completely reflash your smartphone for gesture control (like on the iPhone or Google Pixel), look at the section on custom firmware. But first try the standard solutions - they cover 80% of tasks.

1. Standard gestures in MIUI: how to turn on and configure

The easiest way to remove classic buttons is to activate the built-in MIUI gestures. They work on all versions of the firmware for Redmi 9 Pro (including global and Chinese). The gesture interface here is different from the β€œpure” Android: instead of swiping from the bottom edge, a swipe is used up from the β€œHome” button (if the buttons are hidden).

To include:

  1. Open the Settings β†’ Display.
  2. Select Full Screen Mode.
  3. Slip on the full-screen gestures.
  4. Select the option of Swipe up (recommended) or Swipe from the sides (less convenient on wide screens).

Once activated, the classic buttons will disappear, but they can be returned at any time. Note: in MIUI 13/14, the option β€œGestural Sensitivity” has appeared – if swipes do not work the first time, increase it to the maximum.

πŸ“Š What navigation buttons are used in Xiaomi?
Classic (3 buttons)
MIUI gestures
Gestures by Google
Third-party launcher
Other

2. Reassign buttons through "Special features"

If you don’t need gestures but want to change the location or button functions (like doing β€œBack” on the right), use the hidden MIUI setting. This method doesn’t require root or ADB, but it doesn’t work on all firmware versions.

Instructions:

  1. Go to Settings β†’ Special features β†’ System settings.
  2. Find the Back button (may be called the Navigation Panel).
  3. Select the location: Left, Right or Both sides (the latter option duplicates the button).

Limitations of the method:

  • πŸ”„ You can’t swap β€œHome” and β€œRecentΒ».
  • 🚫 Some firmwares do not have a clause (especially on Chinese versions). MIUI).
  • ⚠️ After updating the system, the settings may reset.

πŸ’‘

If the item is not in the menu, try to enter the request β€œback button” in the search for settings – sometimes it is hidden under a different name.

3. Use of third-party launchers (Nova, Apex, Microsoft Launcher)

Third-party launchers allow not only to change the appearance of the buttons, but also to add additional functions, for example:

  • 🎨 Customization of color, shape and animation buttons.
  • πŸ”„ Reassigning actions (for example, double-clicking on Home to start the camera).
  • πŸ“± Hiding buttons with replacement gestures inside the launcher.

The best options for the Redmi 9 Pro:

LauncherSign supportTune buttonsCons
Nova Launcherβœ… Yes (Nova Gestures plugin)βœ… Full (color, size, actions)Paid for extended functions
Microsoft Launcherβœ… Yes (limitedly)⚠️ Only cover-up/showAdvertising in the free version
Apex Launcher❌ No.βœ… Color and transparencyOutdated design

To set the buttons in Nova Launcher:

  1. Set the launcher and make it the main one (in the settings Home).
  2. Press your finger on the desktop β†’ Settings β†’ Navigation panel.
  3. Choose the button style and actions for each.
How to return the standard buttons after the launcher?
If after removing the third-party launcher buttons are missing, reset the display settings in Settings β†’ Display β†’ Reset screen settings.

4. Change buttons via ADB (no root)

For advanced users willing to work with ADB, there is a way to reassign buttons at the system level, which will allow, for example, double-click on Home to launch a voice assistant or swap Back and Recent places.

⚠️ Attention: Wrong commands ADB You can crash the interface. Before you start, back up your data through your Settings. β†’ Additionally. β†’ Backup and reset.

Steps:

  1. Turn on USB Debugging in Settings β†’ About Phone β†’ MIUI version (tap 7 times, then go back to Additional β†’ For Developers).
  2. Connect your phone to your PC and execute: adb shell settings put secure sysui_nav_bar "space,back;home;recent" Here back;home;recent is the order of the buttons from left to right. To remove the button, replace it with space).
  3. Reset the device.

Other helpful teams:

  • πŸ”„ Back to the standard order: adb shell settings put secure sysui_nav_bar "back,home,recent"
  • 🎯 Remove the β€œRecent” button (leaving only β€œBack” and β€œHome”): adb shell settings put secure sysui_nav_bar "back,home,space"

β˜‘οΈ Preparation for ADB-team

Done: 0 / 5

5. Custom firmware: complete freedom of customization

If you want to remove the virtual buttons completely and switch to gestures like on the iPhone (swipe from the bottom edge), you will need to install custom firmware. Redmi 9 Pro popular:

  • πŸ“± Pixel Experience – pure Android with gestures from Google.
  • πŸ”§ LineageOS – stable firmware with flexible navigation settings.
  • ⚑ Xiaomi.eu – modified MIUI gesture-enhanced.

Installation process:

  1. Unlock the bootloader through Mi Unlock Tool (requires a Xiaomi account binding and wait 7 days).
  2. Install a custom TWRP recavator for Redmi 9 Pro (model joyeuse).
  3. Flush the firmware through TWRP (instructions are available on the 4PDA or XDA-Developers forum).

⚠️ Warning: Installing custom firmware voids warranty and can lead to a device blink if it fails.On Redmi 9 Pro with Snapdragon processor 720G critically use firmware specifically for the model joyeuse – firmware from Redmi Note 9 Pro (joyeuse) is not suitable!

Problems and Solutions: What to Do If the Buttons Are Lost or Not Working

After changes in settings or experiments with ADB, there may be bugs.

Problem.Reason.Decision
The buttons disappeared after the updateResetting MIUI settingsReturn via Settings β†’ Display β†’ Full-screen mode
Gestures work through timeLow sensitivityIncrease in Settings β†’ Display β†’ Sensitivity of gestures
The buttons stickConflict with the launcherReset the launcher to standard or clear its cache
ADB-commands are not appliedNo rights.Repeat command with sudo or reconnect USB

If after manipulation with ADB, the phone stopped responding to touch:

  1. Connect the device to the PC and execute: adb shell settings delete secure sysui_nav_bar This will reset the navigation bar settings.
  2. Reboot your smartphone.

πŸ’‘

Before any changes through ADB or firmware, check the device model with the command adb shell getprop ro.product.device – for the Redmi 9 Pro, the result should be joyeuse.

FAQ: Frequent questions about button settings on Redmi 9 Pro

Can I get back the physical navigation buttons?
The Redmi 9 Pro doesn't have physical buttons -- they're virtual, but you can buy a sticker with convex tags for haptic feedback (sold on AliExpress).
Why do the buttons not return to the factory settings after reset?
It's a bug of some versions. MIUI. Solution: Go to Settings β†’ Annexes β†’ Application management β†’ Settings (βš™) Reset the settings for Launcher only.
How to swipe up to return back (like on iPhone)
Only through custom firmware (e.g. Pixel Experience) or Magisk Fluid Navigation Gestures (requires root).
Can I reassign the Home button to start Google Assistant?
Yes, through ADB: adb shell settings put secure sysui_nav_bar "Back,assist,recent Here assist replaces home with helper. To return home, swipe up from the bottom edge.
Why do navigation buttons not disappear in some games?
It depends on the game settings. Try: Enable immersive viewing (if any) in the game. Use MIUI gestures, which are automatically hidden in full-screen applications.