pztrn's wiki

Linux, KDE/Xorg - глобальный хоткей на включение и выключение микрофона в Zoom

По-умолчанию Zoom не регистрирует глобальные хоткеи, но их можно сделать “вручную”.

Зависимости

Этот метод требует наличия установленного xdotool.

Скрипт

Этот скрипт позволяет включать и выключать микрофон в конференциях Zoom:

/usr/local/bin/zoom_unmute.sh
#!/bin/bash
 
set -e
 
send_to_zoom() {
    # due to "-e" we'll stop if zoom window is not found.
    zoom=$(xdotool search --name "Zoom Meeting")
    cur_active=$(xdotool getactivewindow)
    cur_focus=$(xdotool getwindowfocus)
 
    xdotool windowfocus "$zoom"
    xdotool windowactivate "$zoom"
    # without this sleep zoom doesn't get the key press.
    sleep 0.3
    xdotool key "$1"
 
    xdotool windowactivate "$cur_active"
    xdotool windowfocus "$cur_focus"
}
 
send_to_zoom "alt+a"

Сохраните его как /usr/local/bin/zoom_unmute.sh и дайте права на исполнение.

Алгоритм работы скрипта:

  1. Получаем окна:
    • Конференция в Zoom.
    • Текущее активное окно.
    • Окно в фокусе.
  2. Фокусируемся на и активируем окно с конференцией Zoom.
  3. Ждем 0.3 секунды (чтобы отработали всякие анимации вашего WM).
  4. Отправляем комбинацию клавиш, которая приходит первым параметром в функцию.
  5. Восстанавливаем статус активации и фокус окна (или окон), полученных в п.1, то есть тех, с которыми мы работали до нажатия хоткея.

Создаем хоткей

Идем в системные настройки > Рабочая среда > Комбинации клавиш > Специальные действия. Создаем там новую комбинацию:

На вкладке “Активация” задаем нужный хоткей, а на вкладке “Действие” вписываем путь до скрипта:

(На этом скриншоте я решил поместить действие в отдельную группу “zoom”, вы можете сделать так же. А можете и не делать.)

После нажатия “Применить” снизу справа у вас будет работать глобальный хоткей на включение и выключение микрофона.

Добавление хоткея не работает

Заходим в системные настройки > Рабочая среда > Комбинации клавиш > Комбинации клавиш > Служба пользовательских комбинаций клавиш, ищем нужную строчку и назначаем.

Связано с переходом окна системных настроек на другую систему инициализации интерфейса.

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International