Google Chrome / [Из песочницы] Используем Chrome без мыши

в 11:28, , рубрики: Новости, метки:

Google Chrome / [Из песочницы] Используем Chrome без мыши
После перехода на Хром с Оперы мне не хватало одной вещи: использования браузера без мыши — передвижения по странице, переход по ссылкам и прочее. Часто, когда таскаю ноутбук, бывает необходимость работать без мыши. Увы, тачпаду на моем x350 далеко до «яблочного», поэтому становилось очень неудобно. В Опере такая возможность была доступна без плагинов путем указания горячих клавиш в системном меню. В качестве неравноценной замены использовал плагин Hotkeys.
Он позволял передвигаться по странице, вкладкам, истории, но нельзя было «бегать» по ссылкам, заголовкам.
И неожиданно наступило счастье — был найден плагин Key Binder, который, вносит в браузер многорежимный Vim-подобный подход к работе с браузером. На деле оказалось весьма удобное, многофункциональное, настраиваемое дополнение.
После установки плагин предлагает нам пройти маленький курс обучения на английском языке, в результате которого мы узнаем, что работа с клавиатурой ведется в 3х режимах, которые отображаются в панели:
B: режим навигации и управление формами
I: режим работы в текстовых полях
H: режим выделения и копирования текста
Режим навигации и управление формами

Этот режим включается по умолчанию или включается из других нажатием на EscapeПеремещение
Мы можем перемещаться по странице стандартным vim-способом: j-вниз на 10px, h-Вверх, k-влево, l-вправо. Можно до конца во все четыре стороны.Ссылки и формы
Для перехода по ссылкам, нажатиям на кнопки и разные элементы форм есть универсальная клавиша «a» — которая выводит около всех видимых на экране активных элементов уникальные двух буквенные сочетания, напечатав которые производится действие. При этом сочетания удобны при использовании десяти пальцевого метода печати: ff, fj, fk, dk — то есть мизинцем нажимаем «a» и дальше указательными или средними пальцами добиваем команду.
Этот инновационный для меня подход понравился больше чем, в Опере, когда двумя клавишами мы передвигались по всем подряд ссылкам.
Для выпадающих списков — сверху нам выводятся все пункты с теми же двумя буквами
Для списков где можно выбрать несколько пунктов мы используем пробел.
Есть еще одна интересная возможность: Команда «A», которая позволяет переходить по ссылкам в виде текста (без тега A)Строка адреса
При нажатии на «o» Открывается собственная стока адреса. Работает поиск в реальном времени. Перемещение между пунктами осуществляется с помощью Tab. Однако не хватает дополнительного поиска внутри сайта по Tab.Поиск
Автор реализовал свой поиск по нажатию клавиш "/", "?" (Вперед и назад). Он может быть зависимым от регистра так и нет: Зависит от того используем мы его в строке. При удержании ctrl нам становиться поиск по регулярным выражениям. Нажав на Enter, мы переходим к первому найденному результату. Для перехода к следующему/предыдущему мы используем соответственно «n»/«N».
Режим работы в текстовых полях

В этот режим можно перейти либо с помощью уже знакомой клавиши «a», либо сочетанием g+i. Мы можем перемещаться между смежными текстовыми полями двойными последовательным нажатием сочетаний клавиш ctrl-x + ctrl+; и ctrl-x + ctrl -p
Самое интересное начинается в другом — можно работать с текстом без стрелок на клавиатуре: перемещаться, копировать/удалять строки/слова/буквы различными сочетаниями клавиш.
По документации здесь есть режим поиска, но у меня он почему-то не работал…
Режим выделения и копирования текста

После нажатия на «s», нам как и в режиме «a» выводятся сочетания клавиш ко всем абзацам и значимым элементам для быстрого перехода. Далее нажав «v» мы фиксируем первую точку для выделения текста и перемещая клавишами навигации (hjkl) мы выделяем нужный кусок. В конце у нас есть 3 варианта:
«v» — сбросить выделения для новой попытки
«y» — скопировать текст в буфер обмена
«o» — вставить текст в собственную строку адреса
Для выхода мы нажимаем Escape
Редактирование настроек

В настройках помимо просмотра всех стандартных клавиш, разработчик предоставил возможность редактирования всех клавиш в своеобразной консоли.
Сам формат простой:
bind/ubind
Сами клавиши указываются в формате .
Можно использовать сочетания пары клавиш.
Для ctrl используется формат , для alt — .
Например:bind b j [tab.scroll top:+50] говорит, что при на клавишу j в режиме перемещения мы сдвигаем окно на 50px (когда по-умолчанию всего 10).bind i [input.undo] — назначаем на ctrl-z отмену последнего действия в режиме редактирования текста
Так же можно задавать индивидуальные настройки и горячие клавиши для страниц по url.
Оптимизация настроек

Мне стандартные клавиши показались не очень удобными, поэтому я немного их подправил и предлагаю сообществу свою настройку. Основные изменения:Сдвинул вправо клавиши перемещения на «jkl;». Несмотря на мою любовь к клавишам перемещения в vim, в бразуере мне это кажется неудобным, так как при команде «a» необходимо постоянно сдвигать руку на стандартную позицию

Поместил рядом выше перемещение по табам и по истории

В редактировании текста поставил привычные клавиши ctrl+c,ctrl+x,ctrl+v,(copy,cut,paste) ctrl+z,ctrl+y,ctrl+Z (undo, redo)

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

После недельного тестирования были выявлены следующие особенности работы:Не работают клавиши в Gmail, Reader и, что самое печальное, нельзя временно отключить плагин.

Не работает Gmail: не получается открывать письма — они не сделаны ссылками , поэтому плагин их не видит
В режиме редактирования ctrl-c — работает как ctrl-x + ctrl-v
Не выделяется весь тест в режиме редактирования — ctrl-a — в настройках найти не смог
При нажатие F6 (переход в стоку адреса) — обратно в командный режим вернуться не получается
Данный плагин оказался крайне приятным сюрпризом для меня (как и в свое время vim). С ним оказалось удобно работать, когда под рукой нет мыши, и иногда удобнее, когда она есть =)
Единственное, что в плагине ужасно раздражает — неработоспособность почты и невозможность его временно отключить.
P.S.: Еще был замечен интересный эффект: окружающие люди удивляются, когда видят, как серфишь в интернете без хвостатого грызуна.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js