I'm trying to enable some multimedia keys, and the ones for volume do work. F5 and F6, the ones for increasing/decreasing do not work, I do not know why. When I run in the terminal:

xbacklight +10

I can see the working effect. When I try my binded special keys (which are set to ~/.config/i3/config):

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness

Obviously, the media keys must be combined with the fn key. However, I don't see the effect. Any solutions?

  • 2
    Are you sure the key symbols are XF86MonBrightness(Up|Down)? As in: "Did you check with xev?" While these key symbols do exist, there are also XF86KbdBrightness(Up|Down).
    – Adaephon
    Nov 14, 2016 at 21:21
  • 1
    I have this problem also, supposedly you are meant to discover the keys using xmodmap -pke and then somehow apply these in the i3 config.
    – warsong
    Aug 29, 2017 at 16:16

5 Answers 5


Edit: You must have acpi installed on your machine for these to work :)

Edit 2: This code increments/decrements the brightness values by 1, but some models will have values that range in the thousands, so modify the change accordingly.

This is an old question, but an answer may help out others. I ran into an issue upon a fresh installation of i3wm on my laptop where, for whatever reason, my XF86MonBrightnessUp/Down keys weren't being registered (I checked with xev). What I ended up doing is creating acpi actions and events which corresponded to the keys being pressed.

The following are the actions/events I defined in /etc/acpi/actions and /etc/acpi/events, respectively:




echo $(($(cat $bl_device)-1)) | sudo tee $bl_device



echo $(($(cat $bl_device)+1)) | sudo tee $bl_device



event=video/brightnessdown BRTDN 00000087 00000000


event=video/brightnessup BRTUP 00000086 00000000

You can verify your brightnessup/down acpi event codes by using acpi_listen in your terminal and then pressing the relevant key combination (e.g., for me, it's Fn + Down Arrow for brightness down).

Finally, don't forget to restart acpid with sudo /etc/init.d/acpid reload

Note: Your backlight device may be defined in a different location than /sys/class/backlight/acpi_video0 - that's just where mine happened to be. Do some poking around.

  • 1
    this helped! If anyone else hits this and are running a setup with SELinux, you'll will need to allow the given scripts via audit2allow or another tool. Jul 4, 2019 at 9:45

I ran into the same issue with arch on my dell xps. Installing the xf86-video-intel package fixed it.


To complete the great answer from Try431, the action configuration that worked for my Lenovo G580 was the one below.


  • events were the same as Try431
  • I'm also running i3wm
  • had to add chmod +x to the sh files so they could be executed
  • my card was intel, so the bl_device path was different
  • the increment/decrement was too small. I changed it to steps of 100.


echo $(($(cat $bl_device)-100)) | sudo tee $bl_device


echo $(($(cat $bl_device)+100)) | sudo tee $bl_device

I recommend light.

bindsym XF86MonBrightnessUp exec --no-startup-id light -A 5
bindsym XF86MonBrightnessDown exec --no-startup-id light -U 5



xbacklight wasn't working for me either, but the solution needn't be so complicated!

I installed the brightnessctl package using apt. https://github.com/Hummer12007/brightnessctl

I have the following in my config file:

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec brightnessctl -d "intel_backlight" set +8%
bindsym XF86MonBrightnessDown exec brightnessctl -d "intel_backlight" set 8%-

You may need to replace "intel_backlight" with something else. Use brightnessctl -l to find the appropriate ID.

You must log in to answer this question.

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