commit f1903bdaf0c822aa6322698bdefc5b4ab4bed512
parent aeb9982ded73b55d317f0323a138bffea4cda3eb
Author: Kyle Westhaus <kwesthaus@users.noreply.github.com>
Date: Fri, 31 Mar 2023 00:31:10 -0700
Support for XF86AudioMicMute (#273)
* Feature: Add XF86AudioMicMute to passed media keys
* Feature: Add shell command option for XF86AudioMicMute
Diffstat:
4 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/i3lock-bash b/i3lock-bash
@@ -91,6 +91,7 @@ _i3lock() {
"--cmd-audio-mute"
"--cmd-volume-up"
"--cmd-volume-down"
+ "--cmd-mic-mute"
"--cmd-power-down"
"--cmd-power-off"
"--cmd-power-sleep"
diff --git a/i3lock-zsh b/i3lock-zsh
@@ -93,6 +93,7 @@ _i3lock() {
"--cmd-volume-up[Command for XF86AudioRaiseVolume]"
"--cmd-volume-down[Command for XF86AudioLowerVolume]"
"--cmd-power-down[Command for XF86PowerDown] "
+ "--cmd-mic-mute[Command for XF86AudioMicMute]"
"--cmd-power-off[Command for XF86PowerOff]"
"--cmd-power-sleep[Command for XF86Sleep]"
# Bar mode
diff --git a/i3lock.1 b/i3lock.1
@@ -383,7 +383,8 @@ passing them through:
.RS
.IP \[bu] 2
media - XF86AudioPlay, XF86AudioPause, XF86AudioStop, XF86AudioPrev,
- XF86AudioNext, XF86AudioMute, XF86AudioLowerVolume, XF86AudioRaiseVolume
+ XF86AudioNext, XF86AudioMute, XF86AudioLowerVolume, XF86AudioRaiseVolume,
+ XF86AudioMicMute
.IP \[bu]
screen - XF86MonBrightnessUp, XF86MonBrightnessDown
.IP \[bu]
@@ -422,6 +423,8 @@ volume\-up - XF86AudioRaiseVolume
.IP \[bu]
volume\-down - XF86AudioLowerVolume
.IP \[bu]
+mic\-mute - XF86AudioMicMute
+.IP \[bu]
power\-down - XF86PowerDown
.IP \[bu]
power\-off - XF86PowerOff
diff --git a/i3lock.c b/i3lock.c
@@ -276,6 +276,7 @@ char* cmd_media_prev = NULL;
char* cmd_audio_mute = NULL;
char* cmd_volume_up = NULL;
char* cmd_volume_down = NULL;
+char* cmd_mic_mute = NULL;
char* cmd_power_down = NULL;
char* cmd_power_off = NULL;
@@ -784,6 +785,12 @@ static void handle_key_press(xcb_key_press_event_t *event) {
return;
}
break;
+ case XKB_KEY_XF86AudioMicMute:
+ if (cmd_mic_mute) {
+ system(cmd_mic_mute);
+ return;
+ }
+ break;
case XKB_KEY_XF86PowerDown:
if (cmd_power_down) {
system(cmd_power_down);
@@ -816,6 +823,7 @@ static void handle_key_press(xcb_key_press_event_t *event) {
case XKB_KEY_XF86AudioMute:
case XKB_KEY_XF86AudioLowerVolume:
case XKB_KEY_XF86AudioRaiseVolume:
+ case XKB_KEY_XF86AudioMicMute:
xcb_send_event(conn, true, screen->root, XCB_EVENT_MASK_BUTTON_PRESS, (char *)event);
return;
}
@@ -1674,6 +1682,7 @@ int main(int argc, char *argv[]) {
{"cmd-audio-mute", required_argument, NULL, 640},
{"cmd-volume-up", required_argument, NULL, 641},
{"cmd-volume-down", required_argument, NULL, 642},
+ {"cmd-mic-mute", required_argument, NULL, 643},
{"cmd-power-down", required_argument, NULL, 650},
{"cmd-power-off", required_argument, NULL, 651},
@@ -2276,6 +2285,9 @@ int main(int argc, char *argv[]) {
case 642:
cmd_volume_down = optarg;
break;
+ case 643:
+ cmd_mic_mute = optarg;
+ break;
case 650:
cmd_power_down = optarg;