I am trying to turn off the backlight on the soft keys (home, menu, back and search).

My phone is a HTC Evo 3D running Ice Cream Sandwich. Before, I had Gingerbread installed and I could use "Screen Filter" app to turn the lights off. After the upgrade, "Screen Filter" no longer works.

On one forum it says that if you edit the file max_brightness in folder


from 255 to 0 and then switch the screen off and on again then the key lights stay off.

However, the file is read-only.

I want to make the file writable. Do I need to root my phone to do this?

  • Can you post the explicit access bits? (I.e. do a 'ls -l /sys/class/leds/button-backlight'). Or has the location changed (i.e. are there other files in the directory).
    – ce4
    Dec 29, 2012 at 12:57

1 Answer 1


Yes, your phone must be rooted because to access that file the /system needs to be mounted as write-able

Once you obtain root you can run this command inside a shell:
chmod 777 /sys/class/leds/button-backlight/max_brightness

Then just navigate to that file and edit it using a file browser. What the chmod 777 command does is change the permissions on that file so that you can edit it. After you finish I would suggest changing the permissions back to what they were.

The original permissions were probably 0666. So it would be like this: chmod 0666 /sys/class/leds/button-backlight/max_brightness

To encompass t0mm13b's remark below, go here for information on how to make the file write-able at boot, instead of having a script be run at each boot that makes it write-able.

  • Are you sure this will work, as that sounds a temporary measure, ie. permissions will be lost upon reboot? BTW: OP's handset is not-rooted so not a good answer either!
    – t0mm13b
    Jan 20, 2013 at 20:37
  • That will work provided the handset is not rebooted, for a more permanent solution, the init.rc script would have to be modified and rebuilt within the ram-disk and for that the boot.img would have to be re-created.
    – t0mm13b
    Jan 20, 2013 at 20:41
  • Well obviously someone doesn't read answers fully. And not necessarily. A permanent solution can still be achieved without any need to dive into the boot.img and split the ram-disk from it. The OP can put the commands above in a script and download a third-party program to run it at boot. There are plenty of applications that have that capability and your solution is most likely too complex anyway.
    – cnexus
    Jan 20, 2013 at 21:01
  • What I have stated is a more permanent solution but worthwhile instead of relying on third-party apps. And also, init-scripts are where the permissions are set at boot prior to Android loading - Simples really, instead of resorting to fiddly hacks such as the above answer each time Android boots...
    – t0mm13b
    Jan 20, 2013 at 21:19
  • I know what you're talking about, but the solution proposed above is most likely a more viable solution for users in general, and probably for the OP as well. Your solution may be more permanent, but requires more knowledge of Android, boot.img splitting, and the Linux file system
    – cnexus
    Jan 20, 2013 at 21:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .