|
||
Ответить |
|
|
#1
|
|
Вес репутации:
0
Регистрация: 27.02.2009
Адрес: Москва
Сообщений: 7,248
Сказал(а) спасибо: 574
Спасибок 2,673
в 1,898 сообщениях |
Запуск приложений через горячие клавиши -
05.04.2009, 01:24
Запуск приложений через горячие клавиши
В GNOME (и, соответственно, в Ubuntu) есть возможность назначать горячие клавиши на запуск любого приложения. Делается это одним из нескольких способов. Для начала я опишу самый универсальный - через редактор конфигурации. Что такое редактор конфигурации и как его добавить в меню уже было описано раньше.
Задание горячих клавиш через редактор конфигурации GNOME Итак, в этот раз нас интересует секция настроек по адресу "apps - metacity", а в ней секции "global_keybindings" и "keybinding_commands". В секции "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" сочетание клавиш для запуска этой команды. Собственно, осталось только разобраться, как описывать сочетания клавиш. В общем случае сочетания клавиш пишутся в виде: [<модификатор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-settings-manager. Вы можете сделать это с помощью менеджера пакетов Synaptic или прямо из консоли командой: sudo aptitude install compizconfig-settings-manager Более подробно эта программа описана в статьях про настройку 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" редактора конфигурации. |
Ответить |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FAQ Как настроить соединение двух компьютеров через модем для игр. | Vector | Сетевое оборудование | 0 | 02.07.2009 17:18 |