Май 06, 2016, 10:04:39 am

Автор Тема: Перевод статьи о xbindkeys  (Прочитано 4044 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pick.dmask

  • Новичок
  • *
  • Сообщений: 21
  • Рейтинг помощника: +0/-0
Перевод статьи о xbindkeys
« : Ноябрь 14, 2010, 12:23:11 am »
Источник: http://pclosmag.com/html/Issues/201011/page12.html

Перевод был осуществлён в 2 этапа:
- непосредственно перевод на русский
- приведение полученного текста в удобный вид (что за собой ведёт некоторое изменение формы подачи материала, что, впрочем, никак не отражается на общем смысле статьи.

Если в скобках перед словом имеется значок "слэш" - это означает, что я предлагаю альтернативу слову,  непосредственно находящемуся перед скобками.

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

Ускорьте (работу) с xbindkeys

Утилита xbindkeys уже входит в состав PCLinuxOS по умолчанию. Что она делает? - привязывает (назначает) клавишу или комбинацию клавиш к выполнению функции/программы (далее - "шорткаты") под управлением системы X-window, например, в среде KDE. Наверное, Вы удивитесь: "почему это может быть полезно, когда системы вроде KDE или Gnome уже имеют возможность назначать шорткаты, и можно, кликая по иконке на рабочем столе, запустить практически любое установленное приложение?". Да, это так. Но xbindkeys на этим не ограничивается.

С этой простой утилитой Вы можете выполнить любую функцию, доступную в Вашей системе, при помощи простой последовательности клавиш. Добавляет к этому возможность распознавать большинство из тех дополнительных клавиш, которые имеются на мультимедиа-клавиатурах и может изменять назначение любой клавиши в сочетании с одновременным нажатием shift, control, alt и super (Windows) клавиш, и не только. Кроме того, xbindkeys распознаёт не только нажатие, но отпускание клавиши, считает это отдельным событием. Также очень гибкой эту утилиту делает возможность распознавать (нажатия) и выполнять действия когда нажаты клавиши мыши и клавиатуры, даже если их использование обычно игнорируется нажатиями клавиш мыши.

Конечно, Вам нужно это всё настроить, чтобы использовать. Это весьма легко сделать, даже если Вам придётся  ненадолго открыть терминал. Вам понадобится создать или отредактировать конфигурационный файл, либо xbindkeys создаст его с настройками по-умолчанию. Но, спасибо разработчикам PCLinuxOS, Вам даже не нужно этого делать. Они уже заботливо поместили конфигурационный файл .xbindkeysrc в домашний каталог Вашего пользователя.

Этот конфигурационный файл представляет собой обычный текстовый файл, который может быть отредактирован любым текстовым редактором, например, kwrite. Этот файл по-умолчанию является скрытым (имя начинается с точки). Он достаточно длинный и содержит много полезной вводной информации. Когда Вы разберётесь с приложением - Вы  можете укоротить этот файл, просто удалив то, что более не считаете нужным.

Откройте файл и прокрутите вниз, пока не увидите следующие строки (Примечание: можно воспользоваться поиском по файлу, все текстовые редакторы, в т.ч. и консольные, предоставляют такую возможность):
# Examples of commands:

"xbindkeys_show"
control+shift + q
Любая строка, начинающаяся со знака "#" игнорируется программой. (такие строки называются  "комментариями")
Текст, находящийся в кавычках - это команда для выполнения, а строка под ним - это последовательность клавиш, которая и вызывает выполнение данной команды.
Эта пара строк выполняет команду "/usr/bin/xbindkeys_show", являющуюся скриптом, который будет выводить список текущих узнаваемых команд. Чтобы проверить - кликните по пустой части рабочего стола, зажмите клавиши control и shift, и нажмите q.
Появится окошко вроде такого:



Эти две строки, команда и последовательность клавиш - всё, что требовалось

Почему я сказал Вам кликнуть по пустой части рабочего стола? Потому что у Вас уже есть много шорткатов, которые были заранее определены KDE или другими приложениями, и Вы же не хотите, чтобы они конфликтовали. Клик по  рабочему столу поменяет его фокус и маловероятно, что там есть уже определённая комбинация Control + Shift + Q. Когда Вы будете определять новые комбинации для xbindkeys или других приложений, учитывайте вероятность  возникновения конфликта между ними.

Посмотрите на эти два примера:
"xterm"
m:0x4 + c:41
Control + f
и
"xterm"
m:0x4 + b:2 (mouse)
в обоих случаях - одна и та же команда.

В первом случае, m:0x4 + c:41 означает клавишу-модификатор номер 4 + буквенную клавишу номер 41.
Клавиша-модификатор - это что-то вроде control, alt или shift. А буквенная клавиша 41 в американской раскладке - это
буква f.
Следующая строка повторяет это в альтернативном, более удобочитаемом виде, но не все клавиши могут быть представлены в таком дружелюбном (/удобном) виде.

Во втором случае выполняется та же функкция, но используя клавишу control с одновременным нажатием на кнопку мыши номер 2.

Клавиши мыши также очень легко назначать. Левая, средняя и правая кнопки отвечают значениям b:1, b:2 и b:3,
соответственно. Остальные клавиши можно без проблем определить опытным путём. Обычные клавиши и клавиши-модификаторы требуют разного подхода и программист включил простой метод для обнаружения комбинации любой нажатой клавиши, даже большинству из тех самых дополнительных кнопок на мультимедиа-клавиатурах. Вот тут как раз и понадобится командная строка, но без паники - это не очень сложная процедура.

Открываем терминал и пишем:
xbindkeys -kНа рабочем столе появится маленькое окно. Его единственная задача - "захватить" фокус. Всё, что вы напишите (/наберёте,
/нажмёте) будет направлено в это окно, хоть и не появится там. Это окно будет закрыто и всё, что вы набрали будет
передано командной строке в окне терминала. Если Вы нажмёте Control + Alt + W, то увидите это:



Там, где Вы видите "(scheme function)" введите в своём конфигурационном файле ту команду, которая должна будет исполняться при нажатии клавиш. А под этим добавьте одну или обе из строчек, появившихся ниже (с кодами клавиш). Например, если Вы хотите по нажатию клавиш Control + Alt + W запускать OpenOffice Writer, тогда в свой xbindkeysrc Вам нужно ввести либо:
"openoffice.org3 -writer"
Control+Shift + w
либо:
"openoffice.org3 -writer"
m:0x1c + c:25
Если Вы запустите в терминале
xbindkeys -mkто маленькое окно не будет закрываться после одной последовательности
клавиш, но, тем не менее, будет отсылать данные в терминал (командную строку), пока Вы не нажмёте клавишу q. Это может быть удобным в первый
раз, когда подбираете сочетания клавиш.

Начиная с версии 1.8.3, текущая сборка в репозиториях PCLinuxOS может автоматически определять изменения в
конфигурационном файле xbindkeysrc. Но, если у Вас с этим проблемы, либо установлена более ранняя версия и Ваши
свежедобавленные шорткаты не работают, то следующая команда, введённая в терминале поможет разрешить эту проблему:
killall -HUP xbindkeysТеперь, когда Вы знаете, как находить коды клавиш, Вам необходимо знать формат команд. Для тех, кто с консолью "на ты" это не будет представлять сложности. Но для всех остальных есть несложный путь - правый клик по клавише меню (например, по Kickoff в KDE), затем выбрать "редактирование меню". А потом просто выбрать приложение, которое хотите запускать, и скопируйте его команду для запуска. Так вы можете получить больше текста, чем нужно (например, особые ключи для запуска, вроде этого "ktorrent %i -caption "%c" %u"), но, тем не менее, приложение будет запускаться исправно. А если нет - тогда Вы можете вернуться, открыть конфигурационный файл и убрать лишние ключи запуска.

Есть и другой способ - написать (в командной строке) имя приложения, а за ним следом "--help" (без кавычек). Это выведет список
различных опций, которые могут быть применены к приложению для изменения его состояния. Например, представим ситуацию - у Вас играет музыка через Amarok, и зазвонил телефон, Вы хотите приостановить воспроизведение. В Amarok на это есть свой шорткат - пробел. Но если Amarok минимизирован в трей, то такой вариант не сработает.
Написав "amarok --help" в терминале (без кавычек), мы получим нужную информацию. Если мы добавим "-t" или
"--play-pause" после команды "amarok", то состояние будет переключаться между воспроизведением и паузой. Вот эти две
строки:
"amarok –play-pause"
Control+Mod2 + Pause
добавленные в в конфигурационный файл, будут приостановливать воспроизведение или перезапускать его по указанным сочетаниям клавиш. Здесь приведён "длинный" вариант ключа - "-play-pause" вместо простенького "-t", потому что это более наглядно показывает в конфигурационном файле, что шорткат будет делать. Это удобно в случае, когда через несколько месяцев Вы забудете, что именно настраивали. Но и вариант с "-t" вполне себе работает.

Теперь можно освободить рабочий стол от мусора, найти применение дополнительным клавишам и кнопкам, которые лежали без дела. Ну, и само собой, впечатлять своих друзей Вашими запрограммированными сочетаниями клавиш. :)
« Последнее редактирование: Ноябрь 17, 2010, 12:11:13 am от metsamies »
пользуюсь Arch Linux, Gentoo, Debian. Теперь и PCLinuxOS
всем спасибо за внимание. удачного дня :)

Оффлайн metsamies

  • Global Moderator
  • Постоялец
  • *****
  • Сообщений: 233
  • Рейтинг помощника: +1/-0
Re: Перевод статьи о xbindkeys
« Ответ #1 : Ноябрь 16, 2010, 05:42:48 pm »
Тоже не лингвист и по русскому была 3, потому с переводами дружу не очень (благо хоть читать и понимать могу с английского), но все таки кое-что исправил бы:
Цитировать
PCLinuxOS имеет в своём состав
Лучше написать не "имеет", а "содержит".

Цитировать
С этой лёгкой утилитой
С этой простой утилитой...
Цитировать
под управлением оконной системы X
под управлениес системы X-window...
Цитировать
(при)даёт ему фокус
перемещает/меняет (не знаю как лучше, но лучше чем "дает") его фокус...
Цитировать
Там, где Вы видите "(scheme function)" Вы введёте в своём конфигурационном файле действующую команду, которая будет исполняться при нажатии клавиш
Там, гле вы видите "(scheme function)", введите в своём конфигурационном файле ту команду, которая будет исполняться при нажатии клавиш.
Цитировать
тем не менее, будет отсылать данные родителю
Вообще не понятно о чем речь, надо сравнивать с оригинальной статьей...
Цитировать
Но для всех остальных есть лёгкий путь
Опять же "легкий" -> "простой".

Вот как-то так. Отметил лишь то, что сильно бросается в глаза, ИМХО.
P.S. Штука конечно полезная, для тех у кого в качестве рабочего окружения не Е-17. В Е-17 есть нативный (причем графический) конфигуратор хоткеев. Одна из тех функций, из-за которых я и выбрал этот DE. :)
« Последнее редактирование: Ноябрь 16, 2010, 05:47:32 pm от metsamies »

Оффлайн landgraf

  • *buntu-ненавистник
  • Administrator
  • Гуру форума
  • *****
  • Сообщений: 418
  • Рейтинг помощника: +10/-1
    • http://blog.zhukoff.net
Re: Перевод статьи о xbindkeys
« Ответ #2 : Ноябрь 16, 2010, 08:03:23 pm »
Заводим вики? :))))

Оффлайн pick.dmask

  • Новичок
  • *
  • Сообщений: 21
  • Рейтинг помощника: +0/-0
Re: Перевод статьи о xbindkeys
« Ответ #3 : Ноябрь 16, 2010, 09:57:56 pm »
metsamies
некоторая проблема в том, что отредактировать первый пост темы я не могу, отредактируйте, пожалуйста, сами.

не всегда согласен насчёт замены "лёгкой" на "простую" - иногда имеется в виду легковесность - в остальном пусть так и будет, как Вы предложили

landgraf
это уж как пан администратор желает

планирую перевести ещё насчёт кодирования видео и около-видеообработных приблудах - в этом я разбираюсь в отличие от программирований / администрирований - опять же, как время будет.
ах, да, и насчёт WCG / FAH и т.д. тоже
подходит такая тематика?
пользуюсь Arch Linux, Gentoo, Debian. Теперь и PCLinuxOS
всем спасибо за внимание. удачного дня :)

Оффлайн metsamies

  • Global Moderator
  • Постоялец
  • *****
  • Сообщений: 233
  • Рейтинг помощника: +1/-0
Re: Перевод статьи о xbindkeys
« Ответ #4 : Ноябрь 16, 2010, 10:55:22 pm »
Ну вроде поправил, заодно и еще кое-что, но некоторые моменты исправлять не решился. Но вроде стало читаться чуть лучше. А идею создания вики поддержу: и удобно и практично. Главное статьи по категориям раскладывать.
« Последнее редактирование: Ноябрь 16, 2010, 11:01:47 pm от metsamies »

Оффлайн pick.dmask

  • Новичок
  • *
  • Сообщений: 21
  • Рейтинг помощника: +0/-0
Re: Перевод статьи о xbindkeys
« Ответ #5 : Ноябрь 16, 2010, 11:29:28 pm »
Цитировать
Утилита xbindkeys ухе входит с состав PCLinuxOS по умолчанию.

Цитировать
Кроме того, xbindkeys распознаёт не только нажатие, но отпускание клавиши, считает отдельным событием
тогда уж либо "считая отдельным событием", либо "считает это отдельным событием"

Цитировать
Вот тут как раз и понадобится командная строка, но без паники - это не сложная процедура.
здесь - слитно.

и всё вроде.
  что ещё от меня требуется касательно этого перевода?
пользуюсь Arch Linux, Gentoo, Debian. Теперь и PCLinuxOS
всем спасибо за внимание. удачного дня :)

Оффлайн metsamies

  • Global Moderator
  • Постоялец
  • *****
  • Сообщений: 233
  • Рейтинг помощника: +1/-0
Re: Перевод статьи о xbindkeys
« Ответ #6 : Ноябрь 16, 2010, 11:46:03 pm »
Блин, очепяток наделал... Чем лечить невнимательность, не знаю. Таже фигня и со скриптами возникает. Исправляешь, исправляешь, все равно где-то да останется. :D

Цитировать
здесь - слитно.
тоже так думал и зачислил в опечат ки, но таки раздельно... Мне кажется...
« Последнее редактирование: Ноябрь 17, 2010, 12:15:36 am от metsamies »

Оффлайн pick.dmask

  • Новичок
  • *
  • Сообщений: 21
  • Рейтинг помощника: +0/-0
Re: Перевод статьи о xbindkeys
« Ответ #7 : Ноябрь 17, 2010, 12:46:33 am »
Цитировать
но без паники - это не очень сложная процедура.
ну и так тоже вполне.

теперь хотелось бы, если это возможно, услышать ответы на два вопроса, которые я адресовал выше:

 
Цитировать
что ещё от меня требуется касательно этого перевода?

Цитировать
планирую перевести ещё насчёт кодирования видео и около-видеообработных   приблудах - в этом я разбираюсь в отличие от программирований /   администрирований - опять же, как время будет.
ах, да, и насчёт WCG / FAH и т.д. тоже
подходит такая тематика?

предвижу свободное время в самом обозримом будущем, поэтому и проявляю настойчивость
пользуюсь Arch Linux, Gentoo, Debian. Теперь и PCLinuxOS
всем спасибо за внимание. удачного дня :)

Оффлайн landgraf

  • *buntu-ненавистник
  • Administrator
  • Гуру форума
  • *****
  • Сообщений: 418
  • Рейтинг помощника: +10/-1
    • http://blog.zhukoff.net
Re: Перевод статьи о xbindkeys
« Ответ #8 : Ноябрь 17, 2010, 04:20:34 am »
pick.dmask
Создайте аккаут на сайте PCLinuxOS.su, я перенесу туда статью и все будет хорошо :)

Оффлайн metsamies

  • Global Moderator
  • Постоялец
  • *****
  • Сообщений: 233
  • Рейтинг помощника: +1/-0
Re: Перевод статьи о xbindkeys
« Ответ #9 : Ноябрь 17, 2010, 02:57:31 pm »
Цитировать
ну и так тоже вполне.
Просто вспомнил школьные уроки русского языка. :D Что если есть сомнения по поводу слитно/раздельно, то проверяется таким методом.