Запуск приложений в Gnome через горячие клавиши

Источник:Убунтология
Дата публикации:2009
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

В статью добавлены примечания, отсутствующие в оригинальном тексте и предназначенные для тех, кто в своей работе использует экранный диктор Orca. Также из статьи убраны иллюстрации.

Задание горячих клавиш через редактор конфигурации GNOME

У Gnome есть свой «реестр», где хранятся многочисленные настройки, в том числе и настройки глобальных клавиатурных сочетаний. Для изменения этих настроек предназначен редактор конфигурации Gnome.

Примечание: Для того чтобы добавить Редактор конфигурации Gnome в меню "Приложения", в секцию "Системные", необходимо перейти в меню верхней панели, нажав Alt+F1. Затем следует вызвать контекстное меню при помощи клавиши Application (Context) и в появившемся меню выбрать пункт "Изменить меню".
В новом окне фокус сразу же окажется в деревена ветке "Приложения". При помощи клавиш со стрелками следует спуститься до ветки "Системные" и перейти в список элементов при помощи клавиши Tab. В списке надо найти "Редактор конфигурации" и клавишей Пробел поставить отметку (флажок). Чтобы закрыть окно, достаточно нажать клавишу Enter (или клавишей Tab переместиться на кнопку "Закрыть" и нажать Пробел).
После этого может оказаться, что меню не открывается по нажатию Alt+F1. Чтобы исправить ситуацию, можно при помощи комбинации Ctrl+Alt (левый)+Tab перейти на верхнюю панель и нажать клавишу со стрелкой вниз. Меню откроется и его можно закрыть, нажав Escape. После этого меню будет реагировать на Alt+F1 как обычно.

Итак, в этот раз нас интересует секция настроек по адресу "apps - metacity", а в ней секции "global_keybindings" и "keybinding_commands".

Примечание: В окне Редактора конфигурации, в дереве секций Orca может работать с длительными паузами и замедленным откликом. Если вы столкнулись с этим, то немного ускорить работу можно, если перемещаться не только стрелками, но и вводить в текстовом поле первые буквы нужной секции. В Редакторе конфигурации также имеется поиск, которым можно воспользоваться для перехода к нужному ключу.
Для того чтобы развернуть свёрнутую секцию, необходимо нажать Enter. Возможно, придётся подгонять Orca, нажимая цифру 8 на цифровом блоке, чтобы узнать название текущей секции.
Чтобы попасть в список ключей, нужно нажать Tab.

В секции "keybinding_commands" настраиваются команды, которые будут вызываться при нажатии соответствующих клавиш. Вам нужно просто сменить значение любого из ключей вида "command_N", записав туда нужную команду.

В качестве допустимой команды подходит любая строчка, которая исполнится в диалоге выполнения программ (это тот, который по умолчанию запускается с помощью сочетания клавиш Alt+F2). Например, у меня в ключе command_1 записано значение eject -T. Эта команда переключает лоток привода компакт-дисков, и при этом является, строго говоря, консольной, однако не выводит никаких сообщений и не требует участия пользователя при исполнении, поэтому может быть вызвана непосредственно из GNOME.
Заинтересовавшиеся командой могут почитать man eject.

Теперь посмотрим на секцию global_keybindings. В ней много ключей, но нас интересуют только ключи вида run_command_N. Каждый такой ключ отвечает за сочетание клавиш, назначенное для запуска команды с соответствующим номером из секции keybinding_commands.

Кстати, обратите внимание на другие ключи в этой секции. Они отвечают за сочетания клавиш для запуска некоторых системных команд, большинство из которых так же можно настроить через главное меню "Система - Параметры - Комбинации клавиш клавиатуры". На самом деле приложение "Комбинации клавиш клавиатуры" как раз и изменяет эти ключи, так что Вы можете смело делать это вручную.

В итоге алгоритм назначения сочетания горячих клавиш для запуска определённого приложения получается очень простой: пишем в один из ключей command_N секции keybinding_commands команду запуска приложения, а в ключ run_command_N с соответствующим номером секции global_keybindings — сочетание клавиш для запуска этой команды.

Примечание: Для того чтобы изменить значение ключа, которое экранный диктор Orca может и не озвучивать,необходимо, находясь на имени ключа, сместиться стрелкой вправо в соседний столбец (это столбец значений) и нажать Enter для входа в режим редактирования. Другой вариант — это вызвать контекстное меню и выбрать пункт "Изменить ключ". В появившемся поле редактирования следует ввести нужное значение и нажать Enter.
Изменения, сделанные в Редакторе конфигураций, сразу вступают в силу, так что можно немедленно проверить действие назначенной клавиатурной комбинации.

Собственно, осталось только разобраться, как описывать сочетания клавиш. В общем случае сочетания клавиш пишутся в виде:

[<модификатор1>[<модификатор2>]]имя_клавиши

То есть сначала в угловых скобочках пишутся клавиши-модификаторы, т.е. клавиши, которые должны быть нажаты вместе с основной для того, чтобы сработало сочетание, а потом — имя самой клавиши. Клавиш-модификаторов может вообще не быть, но при этом надо понимать, что если Вы укажете одно только имя клавиши, то каждый раз при нажатии на эту клавишу у Вас будет выполняться соответствующее действие. Может быть более двух модификаторов, но, скорее всего, работать это сочетание не будет.

Существуют четыре клавиши-модификатора: Alt, Control, Shift и Super (она же клавиша Windows). Соответственно, в строке задания сочетания клавиш они будут выглядеть как <Alt>, <Control> (либо <Ctrl> или <Ctl> для краткости), <Shift> и <Super>. Обратите внимание - в строке задания сочетания клавиш не должно быть пробелов!

Теперь — про имена клавиш. Здесь всё несколько сложнее. У каждой клавиши на клавиатуре есть своё имя, которое может состоять только из английских букв, цифр и символа подчёркивания. В частности, всем клавишам с латинскими буквами соответствуют названия, состоящие из прописной буквы, той самой, которая написана на клавише. То есть нельзя вместо латинской "p" писать русскую "з", такое сочетание работать не будет, потому что "з" не является именем клавиши (хотя у русской клавиши "з" тоже есть имя - "Cyrillic_ze". Но на стандартных клавиатурах русская "з" совпадает с английской "p", а запомнить, что клавише "p" соответствует имя "p" несколько проще, чем то, что клавише "з" соответствует имя "Cyrillic_ze", а ведь клавиша-то одна, просто у неё несколько имён). Клавишам F1 и т.д. соответствуют названия "F1" и т.д., цифрам - сами цифры. А вот с различными символами всё не так просто. Например, клавиша "[" (она же русская "х") называется "bracketleft" (либо "Cyrillic_ha", что не сильно проще). Поэтому, если Вы хотите назначить какое-то экзотическое сочетание на запуск приложения, и не знаете при этом названий необходимых клавиш, то пользуйтесь, например, менеджером настройки CompizConfig.

Обратите внимание, что абсолютно не важно, какая у Вас дополнительная раскладка клавиатуры и какая раскладка в данный момент активна. В любом случае, если Вы нажали на клавишу "p", то система поймёт, что Вы нажали на клавишу "p", даже если в данный момент у Вас активна русская раскладка.
На самом деле всё абсолютно не сложно, просто я попытался описать все подводные камни, чтобы Вы на них не наталкивались =) Например, для открытия/закрытия лотка привода у меня стоит сочетание <Alt><Super>Up.

И напоследок: некоторые сочетания клавиш, которые Вы назначите, могут конфликтовать с уже имеющимися. Например, если у Вас стоит смена раскладки по Alt+Shift, то назначение сочетания клавиш с модификаторами <Alt><Shift> — не лучшая идея. Будте внимательны и не удивляйтесь, если какое-то назначенное Вами сочетание откажется работать.

Задание горячих клавиш через менеджер настройки CompizConfig

Менеджер настройки CompizConfig изменяет те же ключи, что мы меняли вручную выше. Однако его преимуществом является то, что он позволяет считывать нажатые комбинации и сохранять их в нужные места, таким образом пропадает описанная выше проблема с названиями клавиш.

Примечание: Менеджер CompizConfig озвучивается скринридером Orca на приемлемом уровне, но навигация по окнам и элементам управления этого приложения может оказаться несколько запутанной. При использовании нижеследующего текста на практике рекомендуется ориентироваться на названия элементов управления, а не на их тип, который может не совпадать с указанными здесь.

Итак, для начала нам необходимо поставить пакет compizconfig-settings-manager. Вы можете сделать это с помощью менеджера пакетов Synaptic или прямо из консоли командой:


sudo aptitude install compizconfig-settings-manager

К сожалению, этот пакет требует установленного Compiz, однако для работы ему включённый Compiz не нужен. Итак, после установки в меню "Система - Параметры" появится ярлык Менеджера настройки CompizConfig (примечание: этот пункт может быть обозначен как "Advanced Desktop Effect Setting").

Более подробно эта программа описана в статьях про настройку Compiz. Сейчас же нас интересует самый первый пункт - General Options.

Переходим на вкладку Commands. Здесь нас интересуют свёрнутые по умолчанию группы Commands и Key bindings. Разворачиваем Commands и видим те же 12 полей для ввода команд, что и в редакторе конфигурации по адресу "apps - metacity - keybinding_commands". Единственное различие заключается в том, что в редакторе конфигурации нумерация начинается с 1, а в менеджере настройки CompizConfig с 0.

Каждое поле соответствует своему ключу "command_N" в группе "apps - metacity - keybinding_commands" (с приведёнными выше оговорками по поводу нумерации). Комментарии по поводу разрешённых команд аналогичны приведённым выше в описании ручного редактирования, собственно, в любом случае вы изменяете значения одних и тех же ключей вне зависимости от того, каким инструментом пользуетесь.

Теперь обратимся к группе Key bindings. Здесь задаются сочетания клавиш для запуска соответствующих команд. Вы можете вручную отредактировать сочетания клавиш с помощью кнопки Edit и со всеми оговорками, приведёнными выше по поводу названий клавиш. Однако отличительной особенностью менеджера настройки CompizConfig является возможность считывания нажатой комбинации клавиш. Для того чтобы ей воспользоваться, нажмите на кнопку с текущим значением сочетания клавиш. Если сочетание ещё не задано, то Вам предложат его активировать.

Поставьте галочку, и Вы увидите диалог с выбором сочетания клавиш. Нажмите на кнопку "Считать комбинацию клавиш" и нажатое вами сочетание клавиш отобразится в окне вместо надписи Disabled. Кроме того Вы можете добавлять или удалять клавиши-модификаторы уже введённого сочетания с помощью соответствующих кнопок. Нажатие на "Ok" сохранит выбранную комбинацию клавиш в соответствующем поле.

Ещё раз обратите внимание на то, что менеджер настройки CompizConfig всего лишь изменяет значения описанных выше ключей в секциях "apps - metacity - global_keybindings" и "apps - metacity - keybinding_commands" редактора конфигурации.

И напоследок. Соседняя с Commands вкладка раздела General Options менеджера настроек CompizConfig, которая называется Key bindings, также представляет некоторый интерес. Она так же, как и приложение Комбинации клавиш клавиатуры, позволяет изменять значение некоторых сочетаний из секции "apps - metacity - global_keybindings" редактора конфигурации.

Метки

GNOME, Linux/Unix


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024