Jump to content

# sxhkd (Русский)

4 languages

- English
- Español
- 日本語
- 中文（简体）

From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи sxhkd. Дата последней синхронизации: 11 января 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Ссылки по теме

- Xbindkeys (Русский)
- Xmodmap (Русский)

sxhkd — это простой демон горячих клавиш для X, созданный разработчиком bspwm.

## Установка

Установите sxhkd или sxhkd-gitAUR.

## Настройка

По умолчанию используется файл настроек `$XDG_CONFIG_HOME/sxhkd/sxhkdrc`. С помощью опции `-c` можно указать другой файл.

Каждая строка в файле интерпретируется так:

- Если строка начинается на `#`, то она игнорируется.
- Если строка начинается с пробельных символов, она считывается как команда для запуска.
- Иначе строка считывается как сочетание клавиш: имена клавиш, разделённые пробелом или символом `+`.

Синтаксис:

    [МОДИФИКАТОР + ]*[@]СИМВОЛ
        КОМАНДА

Где `МОДИФИКАТОР` может иметь одно из следующих значений: `super`, `hyper`, `meta`, `alt`, `control`, `ctrl`, `shift`, `mode_switch`, `lock`, `mod1`, `mod2`, `mod3`, `mod4`, `mod5`. Если перед символом клавиши добавить `@`, то команда будет выполнена в момент отпускания клавиши, а не сразу в момент нажатия. `СИМВОЛ` нужной вам клавиши можно узнать с помощью команды `xev`.

Для отслеживания кнопок мыши можно использовать специальные коды клавиш `button1`, `button2`, `button3`, ..., `button24`. Также можно задать сразу несколько кодов клавиш в виде последовательности `{СИМВОЛ_1,...,СИМВОЛ_N}` и добавить в команду последовательность строк (в фигурных скобках и разделённых запятыми) такой же длины — тогда в команду будет подставлен тот элемент последовательности, который соответствует заданному коду клавиши в указанном вами порядке. Если вам нужно добавить в команду обычные фигурные скобки, то, чтобы они не конфликтовали с синтаксисом последовательностей, экранируйте их с помощью обратной косой черты: например, если вы хотите добавить команду `awk '{print $1}'`, запишите её как `awk '\{print $1\}'`. Также можно задать последовательность в виде диапазона `A-Z`, где A и Z — буква или цифра.

Для выполнения команды sxhkd запускает `ОБОЛОЧКА -c КОМАНДА`, что означает, что вы можете использовать переменные окружения внутри команды. `ОБОЛОЧКА` считывается из переменной окружения `SXHKD_SHELL` или, если её нет, из `SHELL`. При получении сигнала `SIGUSR1` sxhkd заново прочитает файл настроек.

### Пример

    $XDG_CONFIG_HOME/sxhkd/sxhkdrc

    # При нажатии левой кнопки мыши эмулировать нажатие Alt_R+F1
    button1
        xte "keydown Alt_R" "keydown F1" "keyup Alt_R" "keyup F1"

    # При нажатии средней кнопки мыши подождать 3 секунды и эмулировать нажатие Alt_R+F2
    button2
        xte "sleep 3" "keydown Alt_R" "keydown F2" "keyup Alt_R" "keyup F2"

## Использование

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

Если ваша среда поддерживает Desktop Application Autostart Specification, можно создать файл автозапуска `sxhkd.desktop`:

    ~/.config/autostart/sxhkd.desktop

    [Desktop Entry]
    Name=sxhkd
    Comment=Simple X hotkey daemon
    Exec=/usr/bin/sxhkd
    Terminal=false
    Type=Application

## Смотрите также

- Репозиторий на GitHub — исходный код, список опций и примеры настройки
- Тема на форуме Arch Linux

Categories:

- Keyboard configuration (Русский)
- X server (Русский)