Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Программируемая клавиатура для работы по удалёнке

В предыдущей записи я программировал мышь, удобно, но мало. Мало кнопок. В начале 2019 года я приобрёл новую клавиатуру A4Tech X7 G800V USB.

Которая имеет 15 программируемых клавиш помимо стандартных и справа столбик мультимедийных клавиш без возможности программирования. Клавиши нумеруются G1..G7, а затем G9..G16. G8 по каким то причинам, отсутствует, видимо число сатаны у китайцев и они этого числа избегают. Редактор макросов у неё практически такой же как и у мыши. Особенности написания макросов те же.

По счастливой случайности на Авито купил себе вторую такую же клавиатуру за 200 рублей. Она правда с убитыми и разболтанными клавишами WASD, но при определённой сноровке они срабатывают. Приобрёл её для дачи, вес у неё почти килограмм, поэтому для стационарных условий. Ну а если зимой взломают хату и украдут, то и не так обидно будет как за новую.

Для локальных выездов я собираюсь переделать клавиатурный цифровой блок, купленный в своё время в FixPrice за 100 рублей.

На 19 клавиш, вместо родного контроллера туда с успехом влезает Arduino Pro Micro, которая может работать в качестве клавиатуры или мыши. Но перед тем как её переделывать я решил потренироваться «на кошках».

В результате полевых множественных испытаний мобильного соединения с интернет через сети 3G и 4G в крайне неблагоприятных условиях было выяснено, что пинг получается от 20 мс до 80 мс максимум. Таким образом для корректного срабатывания клавиатурных комбинаций достаточно задержки между подачей команд в 100 мс. Тем самым повышается скорость и комфортность удалённой работы.

Для комфортной работы были запрограммированы следующие комбинации клавиш (в символах обозначений для X7 G800V):

G1 Выбор английской раскладки клавиатуры, для этого в настройках ПК (Windows 10) нужно нажать ЛКМ по значку раскладки клавиатуры в трее, Настройки языка, Дополнительные параметры клавиатуры, Параметры языковой панели, на вкладке Переключение клавиатуры добавить сочетания клавиш Английский язык Ctrl+1, Русский язык Ctrl+2. После чего можно приступать к написанию макроса.

Комбинация клавиш Ctrl+1

G2 Выбор русской раскладки клавиатуры

Комбинация клавиш Ctrl+2

G3 Запуск приложения GIMP с предварительным включением английской раскладки

Для чего это нужно: — Для избавления от глюков. Так как GIMP кроссплатформенное приложение, то для отрисовки GUI оно использует GTK+, а оно в свою очередь имеет такой глюк, что если приложение GIMP запустить при включенной русской раскладке, то комбинация клавиш Ctrl+Z перестаёт работать. Срабатывает только, барабанная дробь, Ctrl+Я.

Избавится от этого можно только перезапуском GIMP с английской раскладкой. Поэтому чтобы всё было чики-пуки делаем так.

  1. При запущенном GIMP на панели задач, щёлкаем по его иконке ПКМ и выбираем свойства.
  2. В поле «Быстрый вызов» задаём комбинацию клавиш, у меня это Ctrl+Shift+1, нажимаем ОК.
  3. Далее в макросе сначала выполняем Ctrl+1, а затем Ctrl+Shift+1

G4 Alt+Tab, также с задержками 100 мс

G5 Переход на 1 рабочий стол

Комбинация клавиш Ctrl+Win+Left Arrow

G6 Переход на 2 рабочий стол

Комбинация клавиш Ctrl+Win+Right Arrow

G7 Копировать

Комбинация клавиш Ctrl+C

G9 Вставить

Комбинация клавиш Ctrl+V

G10 Вырезать

Комбинация клавиш Ctrl+X

G11 Libreoffice Calc вставить как числа.

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

Поэтому запишем в макрос последовательность нажатий: F6, Right Arrow, Enter, Down Arrow 6 раз, Right Arrow, Down Arrow 2 раза, Enter.

G12 клавиша Пробел

Так как клавиши G12 и G13 располагаются слева и справа от пробела, тем самым его укоротив до неприличных размеров. Поэтому частенько вместо пробела нажимается клавиша G12 и возникает конфуз.

Поэтому, сам бог велел, сделать G12 удлинителем пробела.

G13 Сменить регистр выделенного текста

На рабочем компе я использую уникальную в своём роде исправлялку неумелых текстонабирателей смотрящих на клавиатуру, а не на экран. Punto Switcher! Кроме того он имеет механизм автозамены, где при использовании удобных Вам сокращений можно быстро набирать однотипные повторяющиеся предложения или даже абзацы. Настоящая палочка выручалочка. После установки стандартно идут 3 комбинации клавиш, которые в случае чего можно изменить:

  1. Сменить раскладку набранного слова (В программе эта функция называется «Отменить конвертацию раскладки») — Break (Pause)
  2. Сменить раскладку выделенного текста — Scroll Lock
  3. Сменить регистр выделенного текста — Alt+Break

Есть и другие комбинации, но мне интересны только эти, остальные практически никогда не использую. Клавиша Break имеет и другое обозначение Pause. В Punto Switcher используется обозначение Break, а в редакторе макросов Pause. В сущности это одна и та же кнопка.

Комбинация клавиш Alt+Pause

G14 Сменить раскладку текста, от курсора к началу строки

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

Комбинация клавиш Shift+Home, Scroll Lock

G15 Сменить раскладку текста, от курсора к концу строки

Комбинация клавиш Shift+End, Scroll Lock

G15 Вставить текст без форматирования

Комбинация клавиш Ctrl+Shift+V

Ради научного эксперимента сделал попытку запрограммировать только нажатия клавиш без отпускания, на примере клавиши 1. И получил в общем-то предсказуемый результат, комп заглючило намертво. Цифра 1 нажалась и не отпустилась, в поле для ввода были сплошные 111111111111111111111111111111111111111111111111. После нажатия кнопки Backspace циферки стирались, НО кнопка 1 (в ряду над буквами) больше не срабатывала. Не помогала даже перезагрузка компа, так как клава имеет свою память, глюки продолжались. При этом с цифрового блока клавиша 1 нажималась, но поскольку для компа это другая кнопка, поскольку имеет отличный скан-код, то её нажатие не помогало от зажатой кнопки 1 буквенного блока. Остановить эту вакханалию помог только макрос набранный с экранной клавиатуры редактора макросов. Макрос содержит только нажатие и отпускание кнопки 1. После чего приступы прекратились.