Page 1 of 7

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Mon 04 Jul, 2016 12:37
by John Doe
В качестве модификаторов можно использовать LWin, RWin, Apps, CapsLock, NumLock, ScrollLock, Pause/Break, PrntScrn, и любые другие клавиши и сочетания не выполняющие действий, например допустимы комбинации вида CtrlB+A

Допускаются любые сочетания с обычными модификаторами Ctrl/Alt/Shift

Дополнительная функция: в качестве модификаторов различаются (отдельные) LShift, RShift, Shift

Установка: xmod.lua поместить в папку Macro\modules

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

Примечания:

Требования: Far 3 build > 4736

Связанные темы:

Назначать макросы на Win

Posted: Mon 04 Jul, 2016 15:15
by sToLp
John Doe

Ух, ты! Вот спасибо то!

Попробовал на двух разных машинах в Win10x64entRu:
С Apps, CapsLock, NumLock и ScrollLock вроде всё получается, в т.ч. в сочетании с Ctrl/Alt. CtrlLWin+A и AltLWin+Q срабатывают.

А вот с Pause+A и с LWin+A, RWin+A пока не получилось. В т.ч. версия из предыдущего поста с LWin, RWin также не срабатывает. Но это надо ещё смотреть макросы в системе и в других программах. Может кто подскажет утилиту, которая их комплексно отлавливает?

Назначать макросы на Win

Posted: Mon 04 Jul, 2016 16:02
by HaRT
sToLp wrote: Может кто подскажет утилиту, которая их комплексно отлавливает?
Это обсуждалось тут, но многого не ждите.

Назначать макросы на Win

Posted: Mon 04 Jul, 2016 16:30
by John Doe
John Doe wrote: В качестве модификаторов можно использовать LWin, RWin, Apps, CapsLock, NumLock, ScrollLock, Pause, т.е. любые клавиши не выполняющие действий.
На самом деле (и обсуждалось уже) потенциально возможно любую клавишу сделать модификатором, сохранив и её изначальное действие, с той лишь разницей, что срабатывать оно будет не при нажатии, а при отпускании клавиши.
Надо только понимать, что следствием этого будет отсутствие автоповтора, и (вероятно) некоторое кажущееся замедление срабатывания.

Есть мысль интегрировать это в MacroEx (реализовав это несколько иным способом, без ffi и GetKeyState).

Назначать макросы на Win

Posted: Mon 04 Jul, 2016 18:24
by sToLp
HaRT wrote:многого не ждите
Действительно, пока что нормально работающая программа, которая бы чётко определяла в системе клавиши, на которые назначены команды, не находится.

Нашёл вот в сети перечень (вероятно неполный) команд, назначенных в Win10 на клавишу Win, и, отчасти, на другие клавиши: — уже отчасти можно ориентироваться какие сочетания системой перекрыты.
John Doe wrote: потенциально возможно любую клавишу сделать модификатором
Это был бы целый переворот в назначении шорткатов из-за практически неограниченного в таком случае их многообразия. Для начала я бы хотел попробовать в качестве расширенных модификаторов клавиши Z, X и Q — их удобно сочетать с традиционными модификаторами.

Назначать макросы на Win

Posted: Tue 05 Jul, 2016 15:49
by John Doe

Code: Select all

shmuel 04.07.2016 17:35:59 +0200 - build 578

1. LuaFAR: добавлена функция win.GetKeyState.

Назначать макросы на Win

Posted: Tue 05 Jul, 2016 19:13
by sToLp
А как функцию win.GetKeyState конкретно применять? Кроме записи в changelog`е плагина об её добавлении других указаний по ней пока ни где не нашёл.

Назначать макросы на Win

Posted: Tue 05 Jul, 2016 19:25
by Shmuel
sToLp wrote: А как функцию win.GetKeyState конкретно применять?
Пример применения - в скрипте, который опубликовал John Doe выше по теме. Там используется FFI, а теперь возможно и без него. (Я счёл, что данная функция достаточно полезна, чтобы войти в комплект "избранных" в LuaFAR).
sToLp wrote: Кроме записи в changelog`е плагина об её добавлении других указаний по ней пока ни где не нашёл.
Указаний никаких и быть не должно. Описание функции было добавлено в мануал.

Назначать макросы на Win

Posted: Wed 06 Jul, 2016 17:00
by John Doe
Небольшое обновление модуля.
Shmuel wrote: Пример применения - в скрипте, который опубликовал John Doe выше по теме. Там используется FFI, а теперь возможно и без него.
Использовал новую функцию.
John Doe wrote: CapsLock, NumLock, ScrollLock вызывают переключение режимов, но это можно поправить.
Поправил.

Назначать макросы на Win

Posted: Wed 06 Jul, 2016 17:09
by Shmuel
John Doe wrote: Небольшое обновление модуля.
Было бы неплохо перенести эту тему в "обсуждение макросов" или "полезные макросы", а также выложить в шапке приаттаченым архивом.

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Wed 06 Jul, 2016 17:33
by Shmuel
Shmuel wrote: а также выложить в шапке приаттаченым архивом.
Хочу отметить, что нынешний способ выкладывания кода не эквивалентен архиву, например у меня при скачивании по ссылке "Download" в начало и конец файла добавляются строки-комментарии от локального прокси, которые надо удалять ручками.

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Wed 06 Jul, 2016 21:01
by sToLp
Нашёл в сети совет как можно отключить сочетание клавиш Win+X в WinServer2003 и более поздних системах. Для этого нужно запустить Редактор локальной групповой политики gpedit.msc и последовательно выбрать: "Конфигурация пользователя", "Административные шаблоны", "Компоненты Windows", "Проводник", "Отключить сочетания клавиш Windows+X".
В Win10x64entRu таким способом освобождаются не все клавиши, а только Q W E R T Y, A S D F и B N M.

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Wed 06 Jul, 2016 22:32
by 2useven10
sToLp wrote: Нашёл в сети совет как можно отключить сочетание клавиш Win+X в WinServer2003 и более поздних системах.
А зачем?
Я, например, половину из них использую регулярно.
Это удобно, думаю многие этим пользуются.

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Thu 07 Jul, 2016 06:17
by sToLp
2useven10 wrote:А зачем?
В данном случае для того, чтобы знать границы возможного. А уж надо практически отключать Win+X или нет, это уже другое дело.

Из отключённых вызовов по Win+X лично мне действительно нужно лишь меню "Выполнить" и я переключил его вызов на другой шорткат и добавил его ярлыки в меню "Пуск", на рабочий стол и на панель задач. И теперь мне с ним более комфортно чем раньше.

Win, Apps, CapsLock [,...] в качестве модификаторов

Posted: Thu 07 Jul, 2016 11:33
by HaRT