andreybold
@andreybold

Как регулировать громкость приложений через пульт?

Кто-нибудь в курсе есть ли возможность регулировать громкость в linux Mint 21.3 отдельных приложений с помощью физического устройства? Хочется не лазить по приложениям и вкладкам, а чтобы на столе стоял пульт/микшер в котором можно «крутить крутилки» и тем самым регулировать громкость отдельным приложений. И если есть такие пульты/микшеры, может кто подскажет как их искать. А то постоянно вываливаются обычные микшеры.
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@rPman
Готового решения боюсь не будет, но написать свое под свою задачу будет не сильно сложно.

Покупаешь вторую клавиатуру (обычно usb, можно купить типа только расширенная цифровая), рисуешь на кнопках стрелки громкости или как то еще помечаешь какая кнопка громкость какого приложения будет менять, затем настраиваешь какого-нибудь демона на прослушивание клавиатуры (гугл говорит про actkbd (пример), но почему то в ubuntu по умолчанию его нет, возможно за эти годы его переименовали или функционал перенесли в другое приложение типа xbindkeys), как минимум в linux встроен функционал отвязывания клавиатуры от сессии (например с помощью loginctl я могу настроить отдельные рабочие места и привязать видеокарта+монитор+клавиатура каждому свое и соответственно просто отвязать дополнительную клавиатуру чтобы ее использовать в другом демоне или даже xhephir - это xserver в окне)

А там настраиваешь на каждую кнопку вызов команды смены громкости с помощью pulse-audio
pactl list
получаешь список всего, работающих со звуком (рекомендую поизучать, можно ограничить вывод, задать формат вывода, в т.ч. json), устройства, источники, получатели,

Собственно это единственное место где придется программировать, нужен код, который из данного вывода будет искать твое приложение или источник звука и узнавать его номер sink

Дальше просто запускаешь команду
# изменить громкость
pactl set-sink-input-volume [sink number] [volume percent]
# переключить mute
pactl set-sink-input-mute [sink number] toggle
# bashcompletion по tab автоматом предлагает sink номера уже работающих приложений, это поможет тебе разобраться что именно из вывода pactl list тебе нужно


p.s. точно видел инструкции, как сменить код клавиши выбранной клавиатуры, тогда не придется отсоединять клавиатуру от сессии пользователя, она просто станет 'непонятной' для обычных приложений, которые будут игнорировать неизвестные коды, а ты в своем приложении будешь их отлавливать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Без проблем. Делаете простенькое приложение, которое принимает от крулилок данные и через pacmd вертит аудио сервером pulseaudio или pipeware.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы