web-dev-qa-db-ja.com

Macbook Airのi3ウィンドウマネージャーでマルチメディア、ボリューム、明るさのキーを有効にする際の問題

2015年からMacbook Airのi3 wmでマルチメディア、ボリューム、明るさのキーを機能させることができません。ボタンを有効にするはずのコードを挿入しましたが、機能しません。構成設定を再ロードして、コンピューターを再起動してみました。以下は私が使用するコードです:

パルスオーディオコントロール

bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -2%; exec pactl set-sink-mute @DEFAULT_SINK@ 0
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle

メディアプレーヤーコントロール

bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

スクリーンの明るさコントロール

bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness

私はそれを this 質問で見つけました

特定のMacbookでマルチメディアキーの名前が異なる可能性はありますか?

私も試しました this

おそらく、コードを配置しなければならない重要な場所があるのでしょうか?

編集1

ボタンを押すとコマンドラインが反応するのがわかります

編集2

プロンプトでxbacklightコマンドを実行すると、次の出力が表示されます。

% xbacklight -inc 20
No outputs have backlight property

編集3

私は今、次の行を持つボリュームキーについて解決しました

bindsym XF86AudioRaiseVolume exec amixer -D Pulse sset Master 5%+
bindsym XF86AudioLowerVolume exec amixer -D Pulse sset Master 5%-
bindsym XF86AudioMute exec amixer -D Pulse set Master 1+ toggle

編集4

ここに素晴らしい情報が見つかりました: https://faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html

5
ChristofferAB

これは古い質問ですが、答えは他の人を助けるかもしれません。私のラップトップにi3wmを新しくインストールすると、何らかの理由でXF86MonBrightnessUp/Downキーが登録されていなかった(xevで確認した)問題が発生しました。私がやったことは、押されたキーに対応するacpiアクションとイベントを作成することです。

以下は、それぞれ/etc/acpi/actionsおよび/etc/acpi/eventsで定義したアクション/イベントです。

行動

/ etc/acpi/actions/bl-down.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)-1)) | Sudo tee $bl_device

/ etc/acpi/actions/bl-up.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)+1)) | Sudo tee $bl_device

イベント

/ etc/acpi/events/bl-down

event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl-down.sh

/ etc/acpi/events/bl-up

event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl-up.sh

端末でacpi_listenを使用し、関連するキーの組み合わせを押すことで、brightnessup/down acpiイベントコードを確認できます(たとえば、私にとっては、明るさを下げるにはFn +下矢印です)。

最後に、acpidSudo /etc/init.d/acpid reloadで再起動することを忘れないでください

注:バックライトデバイスが/sys/class/backlight/acpi_video0とは別の場所で定義されている可能性があります-それはまさに私の場所です。いじってみてください。

1
Try431