내 설정: 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
. 키코드를 설명합니다. 문제가 무엇인지 설명하지 않았으므로 키 코드를 모르는 것으로 가정합니다.