如何在dwm / void linux中绑定DAS键盘音量旋钮?

如何在dwm / void linux中绑定DAS键盘音量旋钮?

我的设置:Void Linux、xorg、dwm + dmenu + st、DAS 键盘。

我也许可以弄清楚如何绑定一些“正常”键来控制音量,但我真的很喜欢键盘上的这个大圆形旋钮:)。

那么,如何让键盘上的音量控制起作用呢?

答案1

在 my 中config.h,靠近或顶部的某个位置,创建指向字符串数组的指针,这些字符串表示用于控制系统音量的 CLI 命令。其中 X11/XF86keysym.h包含“在某些‘互联网’键盘上找到的”控件的按键符号。我正在使用 ALSA,所以对我来说实用程序是amixer.

#include <X11/XF86keysym.h>

static const char *volumeup[] = {"amixer", "-c", "1", "-q", "set", "Master", "2%+", NULL};
static const char *volumedown[] = {"amixer", "-c", "1", "-q", "set", "Master",  "2%-", NULL};
static const char *toggle[] = {"amixer", "-c", "1", "-q", "set", "Master",  "toggle", NULL};

在同一文件中,添加指向keys[]数组的指针,例如:

static const Key keys[] = {


    /* modifier                     key        function        argument */
    { 0,        XF86XK_AudioRaiseVolume,        spawn,        { .v = volumeup } },
    { 0,        XF86XK_AudioLowerVolume,        spawn,        { .v = volumedown }},
    { 0,               XF86XK_AudioMute,        spawn,        { .v = toggle }},

然后就是平常的

make
sudo make install
make clean

必须弄清楚渠道(-c选项)。为此,/proc/asound/modules将会有所帮助。在 Void 上,可能需要显式配置 ALSA,请参阅以下文档:https://docs.voidlinux.org/config/media/alsa.html

答案2

尝试一下xev,它解释了键码。由于您没有描述问题是什么,我假设您不知道密钥代码。

相关内容