Мышиные жесты, или скрытые функции компьютерной мыши. Расширения для управления жестами в Chrome и Firefox

Наверное, у каждого так бывало: сперва ты не понимаешь, зачем эта штука нужна, а потом уже не представляешь без неё свою жизнь (учёбу, работу и прочее). Для меня одной из таких штук стало управление жестами мыши. Фанаты жестового управления используют более 20 различных комбинаций. Но даже 5–7 базовых жестов способны изменить подход к решению повседневных задач в браузере.

Google Chrome

Одно из самых популярных расширений для работы с жестами в Google Chrome - crxMouse. Мы уже о нём нашим читателям. Обладая обширной функциональностью, crxMouse предлагает пользователю большой набор возможностей и настроек. Все действия с вкладками можно осуществлять при помощи жестов: закрыть, открыть, обновить, перейти на следующую/последнюю или предыдущую/первую, прокрутить в конец или начало, добавить в закладки, копировать адрес страницы… И это ещё не весь набор.

Имеются в crxMouse и средства для работы со ссылками и изображениями. Жестом можно открыть ссылку в новой вкладке, новом окне, новом приватном окне, скопировать текст или адрес. Для изображений имеются команды «Открыть на новой вкладке», «Сохранить», «Копировать URL», «Выделить для последующего копирования в буфер обмена».

Настройки для действий с изображениями

Не обязательно использовать предустановленные жесты. Любому действию можно назначить свою комбинацию движений мыши. Для продвинутых пользователей предлагаются рокет-жесты и возможность написания собственных скриптов. Функция синхронизации делает ваши настройки доступными на любом устройстве, а резервное копирование сохранит их при непредвиденных ситуациях. Среди недостатков следует отметить отсутствие русского языка и замедление работы при всех включённых функциях.

Это расширение похоже на crxMouse, но умеет не так много. Например, нет жестов для работы с изображениями. Зато есть жесты для ссылок и текста, резервное копирование настроек, возможность написания собственных скриптов. Расширение вполне подойдёт для тех, кому не обязательно манипулировать рисунками. К тому же оно быстро работает.


По этому жесту у нас будет открываться Лайфхакер

Русский язык в Gestures for Google Chrome также отсутствует, но затруднений в обращении с расширением это не вызывает.

Mozilla Firefox

Самое популярное и самое функциональное расширение жестового управления для Mozilla Firefox. Умеет всё, что нужно, и ещё немного. Любые операции с вкладками, жесты для текста, ссылок и изображений, жесты с использованием колёсика мыши, рокет-жесты - перечислять можно долго. Если же и этого вам будет мало, то на сайте разработчиков есть готовые скрипты на все случаи жизни. Расширение переведено на русский язык, что существенно облегчает настройку.

Недостаток один: для открытия произвольной ссылки приходится использовать скрипт. Для этого нужно нажать кнопку «Добавить схему» в настройках и скопировать в поле «Схема» следующий текст:

Const URL = "//сайт/"; const IN_NEW_TAB = true; const IN_BACKGROUND = false; if (IN_NEW_TAB) gBrowser.loadOneTab(URL, null, null, null, IN_BACKGROUND, false); else gBrowser.loadURI(URL);

Вместо //сайт/ вы вписываете нужный адрес, а в поле «Жест» указываете желаемую комбинацию движений мыши или просто рисуете жест в нижней части окна. Выглядит это, например, вот так.


Настройка открытия сайта Лайфхакер по жесту мыши в FireGestures Mouse Gestures Suite

В качестве альтернативы FireGestures можно обратить внимание на расширение Mouse Gestures Suite. Оно является наследником известного в своё время All-in-One Gestures. Среди плюсов расширения - вполне достаточная функциональность (в том числе жесты для изображений и ссылок и жесты с использованием колеса мыши), быстрая работа, перевод на русский, резервное копирование настроек.

К сожалению, есть и недостатки. Некоторые пункты меню не переведены, настройки не разбиты на группы, и найти нужную получается не сразу. Существенный недочёт: нет возможности настроить открытие произвольного URL по жесту. Mouse Gestures Suite умеет открывать только две избранных закладки, но, чтобы воспользоваться даже этой функцией, придётся покопаться в свойствах закладок. В остальном вполне достойное решение.

Замечено: чем больше вы пользуетесь , тем меньшую пользу принесёт жестовое управление. Если же для работы в основном используете мышь, то вы просто обязаны освоить жесты. С ними ваш браузер уже никогда не станет прежним.

25 февраля 2008 в 19:46 Программируем жесты мышкой
  • JavaScript

Многие пользователи Opera и FireFox знают о существовании так называемых Mouse Gestures (для FF существует одноименный плагин) - жестов мышкой, на которые реагирует браузер выполняя различные действия (такие как открытия нового окна, закладки, назад, вперед и т.д. и т.п.), единственный недостаток данной фичи - нет взаимодеймствия с сайтом, и я решил написать небольшую бибилотечку, которая поможет разработчикам добавить подобный функционал на свой сайт…

На данный момент бибилотека понимает только 8 простеших жестов:

  • Top - зажимаем кнопку мышки и ведем курсор вверх на 50-200 пикселей (по умолчанию) и отпускаем, смещение по оси X должно быть минимум в два раза меньше. чем по оси Y
  • Bottom - ведем курсор вниз
  • Right
И их производные
  • Top-Left - смещение по осям X и Y не должно различаться более чем в два раза
  • Top-Right
  • Bottom-Left
  • Bottom-Right
Для подключения бибилотеки вам понадобиться добавить следующий код в вашу страницу:

Далее копируем следующий код:

// use jQuery for bind function to event

// set params
navigation.minX = 50;
navigation.minY = 50;
navigation.maxX = 300;
navigation.maxY = 300;
// callback functions
navigation.TopLeft = function (X,Y) { };
navigation.Top = function (X,Y) { };
navigation.TopRight = function (X,Y) { };
navigation.Left = function (X,Y) { };
navigation.Right = function (X,Y) { };
navigation.BottomLeft = function (X,Y) { };
navigation.Bottom = function (X,Y) { };
navigation.BottomRight = function (X,Y) { };


Это заготовка для наших «жестов», первые две строчки необходимы для того, чтобы повесить на глобальные события mousedown и mouseup наши две функции (используется бибилотека jQuery). Следующие 4 строчки указывают параметры жестов, т.е. лимиты в которых они будут срабатывать. Далее идет объявление 8 callback функций, в качестве параметров они принимают абсолютное смещение по оси X и Y.

Дабы исключить ложные срабатывания наших функций, лучше привязать их к нажатой клавиши «Ctrl» (код клавиши «Ctrl» равен 17, если хотите изменить - см. все коды на странице http://unixpapa.com/js/key.html):

$(window).keydown(function(event){
switch (event.keyCode) {
case 17:
$(document).mousedown(navigation.mousedown);
$(document).mouseup(navigation.mouseup);
break;
}
});

switch (event.keyCode) {
case 17:


break;
}
});

А вот так выглядит код из моего примера :

function mouseGestures(){
$(window).keydown(function(event){
switch (event.keyCode) {
//…
// different keys do different things
// Different browsers provide different codes
// see here for details: unixpapa.com/js/key.html
//…
case 17:
$(document).mousedown(navigation.mousedown);
$(document).mouseup(navigation.mouseup);
break;
}
});
$(window).keyup(function(event){
switch (event.keyCode) {
case 17:
$(document).unbind("mousedown");
$(document).unbind("mouseup");
break;
}
});

Navigation.maxX = 300;
navigation.maxY = 300;
navigation.TopLeft = function (X,Y) { select($("div#left div.top"),Math.abs(X-Y)) };
navigation.Top = function (X,Y) { select($("div#center div.top"),Y) };
navigation.TopRight = function (X,Y) { select($("div#right div.top"),Math.abs(X-Y)) };
navigation.Left = function (X,Y) { select($("div#left div.middle"),X) };
navigation.Right = function (X,Y) { select($("div#right div.middle"),X) };
navigation.BottomLeft = function (X,Y) { select($("div#left div.bottom"),Math.abs(X-Y)) };
navigation.Bottom = function (X,Y) { select($("div#center div.bottom"),Y) };
navigation.BottomRight = function (X,Y) { select($("div#right div.bottom"),Math.abs(X-Y)) };
}
function select(el,k) {
var speed = 1500;
switch (true) {
case (k

Статьи по теме: