私の設定: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
。キーコードについて説明します。問題が何であるかを説明していないので、キーコードがわからないとします。