Всем привет.

Среди общества как-то повелось, что запись макросов на клавиатуре чисто геймерская необходимость и часто встречается только на геймерских клавиатурах.

Но ведь по сути это просто запись последовательности нажимаемых клавиш.

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


Примеры


Попробую привести пару примеров для понимания.

Вариантов необходимых последовательностей можно конечно придумать великое множество.


1. Открытие консоли в текущей папке проводника


Наверняка многие знают, что если в проводнике нажать правую клавишу мыши на пустом месте с зажатой при этом клавишей shift, то в открывшемся контекстном меню можно выбрать пункт «Открыть окно комманд».

Для вызова контекстного меню на клавиатуре также есть специальная клавиша меню.

Главное использовать ее на пустом месте, не выделив никакого объекта.

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

Тогда макрос будет выглядеть следующим образом:


Alt+стрелка_вверх
Enter
Shift+кнопка_контекстного_меню
стрелка_вниз на необходимое количество раз до нужного пункта
Enter

2. Запуск проверки кода на соответствие кодстайлу


При программировании полезно проверять свой код на соответствия установленным стилям оформления кода и интересна для этого утилита flake8.

Тогда для проверки кода с ее помощью в консоли, открытой предыдущим макросом, можно в память записать:


flake8 %CD% > flake8.log
Enter

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


Заключение


Данная статья не является каким-либо руководством.

Цель данной статьи обсудить полезности и недостатки программируемых клавиатурных макросов не для игр, а для других задач.

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

Из недостатков: клавиатура воспроизводит последовательность с той же скоростью и задержками между нажатиями как вы вводили при записи.

От макроса хотелось бы воспроизведения с большей скоростью. Может кто в комментариях подскажет можно ли как-то обойти этот нюанс.

Комментарии (18)


  1. datacompboy
    05.11.2018 02:28

    Для второй задачи проще батничек создать и положить где-либо в %PATH% его.


    1. DollaR84 Автор
      05.11.2018 12:43

      Возможно, у меня самого много чего на батниках висит. Я думал вообще о применимости данных макросов и полезности или недостатках, а примеры просто для наглядности.


  1. mkshma
    05.11.2018 03:09

    Я что-то пропустил и тут началось соревнование «самая короткая статья, которая не улетит в минуса»?
    P.S Вы проиграли, кстати.


  1. 16tomatotonns
    05.11.2018 04:45

    Хм. Я как раз довольно активно думал на тему «как добавить в ОС нативные макросы-расширители», и под венду, например, ничего не нарыл. Остаётся только AHK.


    1. natan555
      05.11.2018 10:38
      +1

      а чем AHK плох? висит себе, места не занимает, стабильно ведет себя, документации много.


    1. DollaR84 Автор
      05.11.2018 13:24

      Да, согласен с вами, AHK конечно хороший инструмент. Плюс же клавиатурных макросов будет наверно в памяти самой клавиатуры, благодаря чему макросы будут работать на любом ПК, к которому подключите данную клавиатуру с ними.


  1. orion76
    05.11.2018 09:06

    Когда-то, когда основной ОС десктопов была Windows, для разного рода «автоматизаций» использовал Autoit

    Изначально данный «инструмент» задумывался, как «автоматизатор установки софта»:
    — найти в окне кнопку, кликнуть по ней
    — найти в окне текстовое поле, ввести в него текст
    и т.п.

    Потом «инструмент» вырос в практически полноценный ЯП:
    — визуальный конструктор GUI
    — куча библиотек на все случаи жизни
    — компилятор
    — интерпретатор
    и т.п.

    Помниться, у него было очень немаленькое сообщество и хороший форум поддержки.
    Вроде еще не забросили, последний релиз: 16 March, 2018


    1. DollaR84 Автор
      05.11.2018 14:11

      Спасибо, посмотрел, действительно интересный инструмент, попробую. Но действительно как целый ЯП, нужно разбираться подробнее :)


  1. Germanjon
    05.11.2018 12:17

    Что мешает «повесить хоткеи» на нужные операции?


    1. DollaR84 Автор
      05.11.2018 13:17

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


      1. Germanjon
        05.11.2018 14:05

        Что мешает создать нужные Bat-файлы на нужные операции и «повесить хоткеи» на нужные Bat-файлы?


        1. DollaR84 Автор
          05.11.2018 14:14

          Да ничего, я сам использую много батников. Дело же не в этом. Интересно было узнать плюсы и минусы для разнообразия инструментов.


          1. Germanjon
            05.11.2018 14:29

            Как один из инструментов — вполне себе нормально. Если не пытаться его применить везде и повсюду.
            Много лет назад получил неработающий монитор и отсутствие денег на его замену. Пришлось превращать компьютер в станцию по прослушиванию диска «Король и Шут» (он как раз был установлен в сиди-привод, его файлы добавлены в плейлист Winamp. Тогда и пользовался «макросом»:
            Ctrl+Esc, вверх, вверх, вверх, Enter — открывается меню «выполнить» (кнопки «Win» не было) -> набрать «winamp» и Enter, дальше хоткеи.
            Больше потребностей в клавиатурных макросах для систем с графическим интерфейсом не было.


            1. DollaR84 Автор
              05.11.2018 15:10

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


  1. AndreyYu
    05.11.2018 15:56

    У меня был классный макрос — win+r — cmd — exit. Однажды было потрачено много времени, чтобы понять в чем причина закрытия окна.


    1. DollaR84 Автор
      05.11.2018 16:43

      Да, интересно :) Видимо забыли внести полезные команды между cmd и exit.


  1. Squoworode
    05.11.2018 20:00

    Из недостатков: клавиатура воспроизводит последовательность с той же скоростью и задержками между нажатиями как вы вводили при записи.
    От макроса хотелось бы воспроизведения с большей скоростью. Может кто в комментариях подскажет можно ли как-то обойти этот нюанс.
    От клавиатуры зависит. Logitech Gaming Software, например, при записи макроса через интерфейс (а не через аппартную кнопку записи макроса) предлагает выключить запись интервалов между нажатиями, записать их, отредактировать записанные.
    Записанные через кнопку тоже можно отредактировать через интерфейс.


    1. DollaR84 Автор
      06.11.2018 01:17

      Спасибо за информацию, к сожалению интерфейс программы не доступен совсем, но теперь буду знать как можно попробовать разобраться, спасибо