Làm cách nào để khóa phương tiện hoạt động với i3?


8

Tôi đã chuyển từ Gnome sang i3 trên Manjaro và tôi gần như đã hoàn tất việc định cấu hình trình quản lý cửa sổ, màu sắc thiết bị đầu cuối và không có gì. Sau một thời gian, tôi quyết định nghe một vài bản nhạc và sau vài phút tôi nhận ra rằng các phím âm lượng và phím phát lại không hoạt động.

Tôi có bàn phím Razer Blackwidow Stealth 2014, vì vậy những phím phương tiện này thực sự cùng với các phím Chức năng. Ví dụ: Phát / Tạm dừng được bật F6và nó hoạt động như một phím phương tiện khi tôi nhấn Fnphím, như trong Fn + F6.


Tôi đã cố gắng để làm sạch câu hỏi này bởi vì thẳng thắn khoảng 90% trong số đó là sai . Bây giờ thì ổn rồi, và bạn trả lời sẽ xóa nó đi. Hai trong số những điều bạn có câu trả lời của bạn trước / tiếp theo chính xác là trong câu trả lời của bạn. Sự cải thiện thực sự duy nhất là chuyển trò chơi sang chơi / tạm dừng (điều này không tạo ra sự khác biệt nào cho dù nó có hoạt động hay không). Hơn nữa, xevlệnh đã hoàn toàn bunk. Nếu đó là đầu ra của xev khi bạn nhấn các phím đó, câu trả lời của bạn sẽ hoạt động. Thử lại lần nữa. Nhà nước của bạn nên nói một cái gì đó XF86AudioNextvà như thế.
Evan Carroll

Câu trả lời:


9

Tìm kiếm câu trả lời

Sau một thời gian loay hoay với các điều khiển, tôi đã tìm thấy một bài đăng trên bảng Câu hỏi thường gặp của i3 cũ: https://faq.i3wm.org/question/3747/eneac-multidia-keys.1.html

Nó nói để dán đoạn sau vào tệp .config của i3 (dưới đây là phiên bản sửa đổi nhẹ, với một số dòng bị xóa, không liên quan đến câu hỏi cụ thể này):

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

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

# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

Và nó cũng không hoạt động, tuy nhiên quá trình tìm câu trả lời là chính xác.

Câu trả lời thực sự

Đối với tôi, ít nhất, vấn đề là sau khi sao chép những dòng đó, các phím sẽ không hoạt động. Sau một số nghiên cứu, tôi phát hiện ra rằng các lệnh âm lượng có thể hơi khác một chút, sử dụng amixerthay vì của PulseAudio pactl.

Cuối cùng, những người còn lại như thế này:

# Media volume controls
bindsym XF86AudioMute exec amixer sset 'Master' toggle
bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%-
bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+

và họ bắt đầu làm việc.

Các phím phát lại phức tạp hơn một chút. Tôi đã suy luận rằng .config cho biết lệnh nào được thực thi để thực hiện hành động. Sau đó tôi tiến hành thử playerctl play-pausetrên thiết bị đầu cuối của mình. Tất nhiên là nó không hoạt động, vì playerctl chưa được cài đặt . Sau khi cài đặt nó (sử dụng sudo pacman -S playerctl) các lệnh bàn phím cũng hoạt động tốt.


Đối với điều khiển âm lượng, cách đầu tiên làm việc với tôi bằng cách thay đổi bồn rửa thành 1 thay vì 0. Bạn có thể thấy bồn rửa của mình bằng cách thực hiện danh sách pactl | grep chìm
Ramzi C.

2

Tôi thấy rằng tôi cần --phải tách ra pactlkhỏi set-sink-...và nó phù hợp hơn để sử dụng @DEFAULT_SINK@nếu bạn sử dụng tai nghe.

# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl -- set-sink-mute @DEFAULT_SINK@ toggle # mute sound

+1 cho @ DEFAULT_SINK @. Đối với tôi, hai dấu gạch ngang không được yêu cầu, thậm chí chúng còn ngăn điều này hoạt động (mxLinux ở đây).
Simon

1

tôi chỉ thay thế 0 bằng một ví dụ:

Điều khiển xung âm thanh

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-chìm-volume 1 + 5% #increas volume volume bindsym exec --no-startup-id pactl set-chìm-câm 1 bật / tắt âm thanh

để xem số nào dành cho thiết bị âm thanh của bạn, hãy mở pavucontrol và nhấp vào thiết bị đầu ra, số trên cùng là 0, dưới đó là số vv

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.