diff --git a/dwm/config.h b/dwm/config.h
index 166d5003648a16bd09f2967760f310ea89b21658..97bd7562dd407064b11253ef304714e0d86ebd74 100644
--- a/dwm/config.h
+++ b/dwm/config.h
@@ -59,6 +59,8 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn()
 static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
 static const char *termcmd[]  = { "st", NULL };
 
+#include <X11/XF86keysym.h>
+
 static Key keys[] = {
 	/* modifier                     key        function        argument */
 	{ MODKEY,                       XK_d,      spawn,          {.v = dmenucmd } },
@@ -94,6 +96,14 @@ static Key keys[] = {
 	TAGKEYS(                        0x5f,                      7)
 	TAGKEYS(                        0xe7,                      8)
 	{ MODKEY|ShiftMask,             XK_e,      quit,           {0} },
+
+	{ 0, XF86XK_AudioMute,		spawn,		SHCMD("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle; kill -44 $(pidof dwmblocks)") },
+	{ 0, XF86XK_AudioRaiseVolume,	spawn,		SHCMD("wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%+; kill -44 $(pidof dwmblocks)") },
+	{ 0, XF86XK_AudioLowerVolume,	spawn,		SHCMD("wpctl set-volume @DEFAULT_AUDIO_SINK@ 3%-; kill -44 $(pidof dwmblocks)") },
+	{ 0, XF86XK_MonBrightnessUp,	spawn,		{.v = (const char*[]){ "xbacklight", "-inc", "15", NULL } } },
+	{ 0, XF86XK_MonBrightnessDown,	spawn,		{.v = (const char*[]){ "xbacklight", "-dec", "15", NULL } } },
+	{ 0, XF86XK_Sleep,		spawn,		{.v = (const char*[]){ "systemctl", "suspend", NULL } } },
+
 };
 
 /* button definitions */
diff --git a/dwm/drw.o b/dwm/drw.o
index 769ec788f1a0bd7c34ebe2f1e6bd6ac9069cf045..2343487d57374e1bada6a6d56fed0a0a3bbf1ad5 100644
Binary files a/dwm/drw.o and b/dwm/drw.o differ
diff --git a/dwm/dwm b/dwm/dwm
old mode 100644
new mode 100755
index 476b18d562357e15a8d9fc847f599a67f474f0ce..02b4e5a1eb9cb9b6e7245b6ee92a2edf7a8eb7a6
Binary files a/dwm/dwm and b/dwm/dwm differ
diff --git a/dwm/dwm.o b/dwm/dwm.o
index aad6c019897908b812d6b64ae702af00a68da1d1..6e2fa9979d16409ae1e115a18eab832d810c0fbf 100644
Binary files a/dwm/dwm.o and b/dwm/dwm.o differ
diff --git a/dwm/util.o b/dwm/util.o
index c0e1b2e540a7db2dd2bbe25ad82a49373d5cbbfb..53a67f47339e520b38ba4cdde751ff98c1a6258b 100644
Binary files a/dwm/util.o and b/dwm/util.o differ