Ru-Board.club
← Вернуться в раздел «Программы»

» StrokesPlus - жесты мыши для Windows

Автор: PREVED
Дата сообщения: 16.06.2013 14:42


StrokesPlus (S+) - бесплатная программа с огромными возможностями, позволяющая управлять операционной системой и приложениями при помощи жестов мыши (включая кнопки мыши), а также горячих клавиш. Имеет гибкие настройки, поддерживает выполнение действий, основанных на скриптовом языке Lua. В отличие от аналогичной программы StrokeIt, позволяет настраивать срабатывание жестов внутри дочерних окон (в пределах одного приложения - родительского окна). При определенной настройке и после привыкания резко повышает продуктивность работы, упрощая управляемость компьютером. Имеет 64-битную версию. Среди программ подобного назначения имеет самые большие возможности.

Официальный сайт: http://www.strokesplus.com/
Справка (англ.): http://www.strokesplus.com/help/
Форум на официальном сайте (англ.): http://www.strokesplus.com/forum/

Скачать:
Версия 32-бит
Портабельная версия(ZIP): http://www.strokesplus.com/files/StrokesPlus_2.8.6.3_x86.zip
Установщик: http://www.strokesplus.com/files/StrokesPlusSetup_2.8.6.3_x86.exe
Установщик (с цифровой подписью для UAC в Windows Vista/7/8/10): http://www.strokesplus.com/files/StrokesPlusSetup_2.8.6.3_x86_Signed.exe

Версия 64-бит
Портабельная версия(ZIP): http://www.strokesplus.com/files/StrokesPlus_2.8.6.3_x64.zip
Установщик: http://www.strokesplus.com/files/StrokesPlusSetup_2.8.6.3_x64.exe
Установщик (с цифровой подписью для UAC в Windows Vista/7/8/10): http://www.strokesplus.com/files/StrokesPlusSetup_2.8.6.3_x64_Signed.exe

Русификатор: в процессе разработки (степень готовности - высокая)

Важно! Решение проблем с автозапуском и ограниченной функциональностью StrokesPlus в среде Windows 8.1
Важно! Решение проблемы с некорректной работой жестов, связанных с передачей горячих клавиш в русской раскладке в среде Windows 8.1 (и выше)



Скриншот:







Готовые скрипты:

[more=Скрипт для переключения между окнами в Windоws при зажатой клавише мыши и вращении колеса(скроллинге) - для Windows 7, Windows XP]
Выкладываю готовый скрипт для StrokePlus. Позволяет переключать окна в Windows с помощью комбинации Stroke button* + прокрутка вниз / прокрутка вверх (аналог нажатия клавиш Alt+Tab и Alt+Shift+Tab). Как работает: зажимаем кнопку мыши, крутим колесо(скроллинг) мыши и быстро переключаемся между открытыми окнами (в зависимости от направления вращения колеса - на предыдущее окно либо на следующее окно).

* - Stroke button - это кнопка мыши, которая задается в настройках программы для срабатывания жестов в StrokePlus. В зависимости от настройки, это может быть левая, правая, средняя или же одна из двух дополнительных клавиш мыши. У меня эту роль выполняет средняя клавиша мыши.

1. Открыть настройки программы (Preferences)
2. На вкладке Preferences отключить флаг "Allow After Action Script", включить флаги "Allow After Release Script" и "Fire Recognition on Mouse Wheel Scroll". Задать клавишу мыши в настройке Stroke Button (какую предпочитаете), в дальнейшем она будет использоваться для выполнения всех жестов.

3. На вкладке Global Lua добавить в конец списка следующий скрипт:

Код: bTaskMode = 0

function sp_after_release()
if bTaskMode == 1 then
acSendAltUp()
end
bTaskMode = 0
end
Автор: shadow_member
Дата сообщения: 16.06.2013 16:53
Для заинтересовавшихся- достаточно много мнений по StrokePlus изложены на стр. №3 темы по StrokeIt
Автор: PREVED
Дата сообщения: 16.06.2013 17:04
shadow_member

Использую сабж вместе со StrokeIt (оба висят на разных клавишах мыши). В StrokeIt обнаружил неприятный баг - в некоторых приложениях не срабатывает жест с использованием скроллинга (конкретно WHEEL_DOWN т.е. прокрутка вниз). В StrokesPlus с этим все в порядке. Зато StrokeIt значительно легче и удобнее в настройке. Обе программы вполне уживаются с друг другом. Единственное что пришлось сделать - в конфиге StrokePlus (файл %appdata%\StrokesPlus\StrokesPlus.xml) выставить параметр <CheckForOtherGesturePrograms> в 0 (чтобы сабж не ругался на запущенный strokeit).

Добавлено:
Ну и главное преимущество StrokesPlus - проект развивается, автор программы охотно помогает в настройке на своем форуме.
Автор: PREVED
Дата сообщения: 24.06.2013 14:41
Выкладываю исключительно полезный скрипт для StrokesPlus. Скрипт назначается в качестве действия на любой жест мыши. Предназначен для разблокирования родительского окна (окна самого верхнего уровня) у любой программы, в том случае случае, когда оно(родительское окно) блокируется из-за открытого дочернего окна.
Зачем это нужно и как это работает? Приведу пример. В популярном файловом менеджере Total Commander во время поиска (средствами TC, вызываемого по Alt+F7) родительское окно TC блокировано т.е. при активном окне поиска у нас нет возможности работать в панелях с файлами, как следствие поиск нельзя производить в фоне. Это создает определенные неудобства. С данным скриптом все что вам нужно - сделать жест для разблокировки родительского окна (жест выполнять непосредственно НАД РОДИТЕЛЬСКИМ ОКНОМ). Окно поиска не будет закрыто (поиск тоже будет продолжен), при этом у вас появится возможность параллельной работы в Total Commander.

Инструкция по настройке:

1. Установить утилиту NirCMD. Программа очень компактна, полностью бесплатна и не занимает оперативную память (принцип работы - однократный запуск и закрытие).
Прямые ссылки на закачку ниже.
Версия x86: http://www.nirsoft.net/utils/nircmd.zip
Версия x64: http://www.nirsoft.net/utils/nircmd-x64.zip

Распаковать архив, запустить файл nircmd.exe (с правами администратора), нажать "Copy to Windows directory".

2. Открыть настройки StrokesPlus (Preferences...). На вкладке Configure Actions, в разделе Global Actions:

- Создать новое действие (Add Action) и присвоить ему произвольное имя (напр. "Принудительная активация окна")

- В настройке Gesture выбрать "жест мыши" - существующий или созданный вами.

- В "Lua script" добавить код:

Код: acRunProgram("C:\\Windows\\nircmd.exe","win enable foreground",0,1)
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
Автор: DollHack
Дата сообщения: 10.08.2013 02:57
Version 2.7.2 (split versions)

- Fixed a bug in acSendWindowToBottom which also resized and repositioned the window, which was never intended to occur
- Added gesture boundary variables to sp_before_action and sp_after_action. The new parameters are added to the end of the existing function template, e.g. sp_before_action(gnm, gsx, gsy, gex, gey, gwd, gapp, gact, gbl, gbt, gbr, gbb)
- Quick fix to address bug with boost::regex, if you start a pattern with an asterisk, it would cause S+ to crash on the next recognition. If the first character is *, it will be replaced with .
- (Internal) Added options.h to allow optional compiling of certain recent features

http://www.strokesplus.com/forum/topic/741/version-272-split-versions
Автор: PREVED
Дата сообщения: 22.09.2013 12:57
2.7.4
-------------------------
StrokesPlus Change Log:
-------------------------

- Reverted the prevention of S+ allowing multiple instances. The option is still removed from Preferences as it's not a support running configuration, but those who want to can still do it
- Removed unintended duplicate trim timer
- Changed message box calls in EXE to pass NULL instead of GetForegroundWindow(), possible culprit for issue with multiple instances, and ultimately a harmless change even if it doesn't fix anything
- Upgrading 2.7.3.3 to release status

32-bit:
Portable/ZIP Download - Signed and Unsigned: http://www.strokesplus.com/files/StrokesPlus_2.7.4.0_x86.zip
Setup Package Download - Unsigned, Windows XP/Vista/7/8: http://www.strokesplus.com/files/StrokesPlusSetup_2.7.4.0_x86.exe
Setup Package Download - Signed, Windows Vista/7/8 with UAC enabled: http://www.strokesplus.com/files/StrokesPlusSetup_2.7.4.0_x86_Signed.exe

64-bit:
Portable/ZIP Download - Signed and Unsigned: http://www.strokesplus.com/files/StrokesPlus_2.7.4.0_x64.zip
Setup Package Download - Unsigned, Windows XP/Vista/7/8: http://www.strokesplus.com/files/StrokesPlusSetup_2.7.4.0_x64.exe
Setup Package Download - Signed, Windows Vista/7/8 with UAC enabled: http://www.strokesplus.com/files/StrokesPlusSetup_2.7.4.0_x64_Signed.exe
Автор: PREVED
Дата сообщения: 25.09.2013 20:19
Скрипт для принудительного сворачивания ЛЮБЫХ окон, в т.ч. окон, которые невозможно свернуть штатными средствами

Скрипт для StrokesPlus предназначен для принудительного сворачивания окон. Назначается в качестве действия на любой жест мыши. Чтобы было похоже на стандартный жест "Свернуть", рекомендую назначать этот скрипт на жест "/" (косая линия, выполняется сверху-вниз, справа-налево) в сочетании с какой-нибудь дополнительной клавишей. Например, у меня сделано / + левая клав. мыши.

Зачем это нужно. При работе в Windows мы постоянно сталкиваемся с окнами, которые невозможно свернуть (у окна может отсутствовать кнопка "Свернуть", как правило, это окошки с одной единственной кнопкой "Закрыть"). Данный скрипт назначенный на жест мыши в S+ позволит свернуть любое такое окно в принудительном порядке. В качестве защиты, скрипт не позволяет сворачивать окна, созданные оболочкой Windows(explorer.exe). Последнее сделано для предотвращения конфузов, чтобы ненароком не "свернуть" Рабочий стол или Панель задач.

Инструкция по настройке:

1. Установить утилиту NirCMD (если не установлена). Программа очень компактна, полностью бесплатна и не занимает оперативную память (принцип работы - однократный запуск и закрытие).
Прямые ссылки на закачку ниже.
Версия x86: http://www.nirsoft.net/utils/nircmd.zip
Версия x64: http://www.nirsoft.net/utils/nircmd-x64.zip

Распаковать архив, запустить файл nircmd.exe (с правами администратора), нажать "Copy to Windows directory".

2. Открыть настройки StrokesPlus (Preferences...). На вкладке Configure Actions, в разделе Global Actions:

- Создать новое действие (Add Action) и присвоить ему произвольное имя (напр. "Принудительное сворачивание окна")

- В настройке Gesture выбрать "жест мыши" - существующий или созданный вами.

- В "Lua script" добавить код:

Код: local MinimizeAppWindow = acGetParentWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY())
acActivateWindow(MinimizeAppWindow, 0, 0, 2)
local MinimizeExename = acGetExecutableName(acGetForegroundWindow(), 0, 0)
if MinimizeExename == "explorer.exe" then
acDisplayText("Minimizing of the Explorer's window is not allowed", "Arial", 36, 0, 200, 50, 1000, 500, 400)
else
acRunProgram("C:\\Windows\\nircmd.exe","win min foreground",0,1)
end
Автор: DollHack
Дата сообщения: 07.11.2013 22:50
StrokesPlus 2.7.5.2
http://www.strokesplus.com/changelog/
Автор: inile
Дата сообщения: 30.11.2013 13:29
StrokesPlus 2.7.6.0
Автор: DollHack
Дата сообщения: 02.12.2013 20:45
StrokesPlus 2.7.6.1
Автор: PREVED
Дата сообщения: 18.12.2013 17:17
В браузере Opera (на движке Presto) есть возможность быстро переключать вкладки(без появления списка) зажимая правую клавишу мыши и вращая колесо. Для этого необходимо выставить настройку "Переключать вкладки по Ctrl+Tab" как "В порядке расположения, не отображая список".
Недостаток данной настройки в том, что при ее активации, в Опере исчезает возможность переключаться между двумя последними активными вкладками по нажатию на Ctrl+Tab. Настройка StrokesPlus позволит совместить сразу все полезные возможности: быстрое переключение между вкладками без появление списка(средствами S+), переключение с появлением списка и переключением между двумя последними активными вкладками по Ctrl+Tab(средствами самой Opera).

Настройка S+ для переключения вкладок посредством скроллинга(колеса мыши) в браузере Opera 12.x(и в более ранних версиях) без появления списка вкладок. Допускается совместное использовании со встроенным в Оперу способом переключения вкладок (зажатая правая кнопка мыши + скроллинг).


1. Открыть настройки StrokesPlus (в меню значка S+ в трее выбрать Preferences...).

2. На вкладке Preferences задать настройку Stroke Button: Middle
Это значит, что для выполнения жестов и прочих действий в S+ будет использоваться средняя кнопка мыши. СКМ - наиболее оптимальный вариант т.к. средняя кнопка не вступает в конфликт с жестами мыши в Opera и с функцией drag-n-drop.

3. На вкладке Configure Actions нажать кнопку Add App

4. В в поле Name задать: Opera. ОК.

5. В поле "Owner Class Name:" задать: OperaWindowClass
В поле "File name:" задать opera.exe
Остальные поля должны быть пустыми
Нажать Apply

6. Создать новое действие (кнопка Add Action) и присвоить ему имя(Name), "Предыдущая вкладка".

7. В разделе "Mouse / Key modifiers" отметить галочкой Scroll Up

8. В поле Lua script вставить следующий текст:
acSendKeys("%1")
Нажать Apply

9. Создать новое действие (кнопка Add Action) и присвоить ему имя(Name), "Следующая вкладка".

10. В разделе "Mouse / Key modifiers" отметить галочкой Scroll Down

11. 7. В поле Lua script вставить следующий текст:
acSendKeys("%2")
Нажать Apply

12. Нажать "ОК" чтобы закрыть окно настроек.

Если все сделано правильно и сама Opera предварительно настроена на соответствующее поведение, то переключать вкладки можно будет вращением скроллинга с зажатой средней кнопкой мыши (функцию берет на себя StrokesPlus). При этом, список вкладок появляться не будет (независимо от значения настройки "Переключать вкладки по Ctrl+Tab" в самой Opera; упомянутую опцию в Опере лучше выставить в положение "В порядке использования", чтобы работала комбинация Ctrl+Tab и была дополнительная возможность переключения вкладок с появлением меню/списка).
Автор: DollHack
Дата сообщения: 28.12.2013 00:55
StrokesPlus 2.7.7.1
http://www.strokesplus.com/changelog/
Автор: oshizelly
Дата сообщения: 18.01.2014 12:50
PREVED 17:19 18-12-2013
Цитата:
Еще я сделал себе жест для переключения между двумя последними вкладками (имитация кратковременного нажатия Ctrl+Tab) в Опере. Если интересно могу также поделиться.

Да, интересно! Заранее спасибо!
Автор: PREVED
Дата сообщения: 18.01.2014 20:45
Жест для переключения между двумя последними вкладками (имитация кратковременного нажатия Ctrl+Tab) в Опере.

1. Открыть настройки StrokesPlus (в меню значка S+ в трее выбрать Preferences...).

2. На вкладке Preferences задать настройку Stroke Button: Middle
Это значит, что для выполнения жестов и прочих действий в S+ будет использоваться средняя кнопка мыши. СКМ - наиболее оптимальный вариант т.к. средняя кнопка не вступает в конфликт с жестами мыши в Opera и с функцией drag-n-drop.

3. На вкладке Configure Actions нажать кнопку Add App

4. В в поле Name задать: Opera. ОК.

5. В поле "Owner Class Name:" задать: OperaWindowClass
В поле "File name:" задать opera.exe
Остальные поля должны быть пустыми
Нажать Apply

6. Создать новое действие (кнопка Add Action и присвоить ему имя(Name), "Ctrl+Tab".

7. В разделе Gesture выбрать соответствующий жест мыши (либо создать новый - New. От себя могу порекомендовать жест "Ввверх".

8. В поле Lua script вставить следующий текст:
acSendControlDown()
acDelay(200)
acSendKeys("{TAB}")
acDelay(100)
acSendControlUp()


Opera должна быть настроена соответствующим образом (чтобы в ней работала комбинация Ctrl+Tab для переключения между двумя последними использованными вкладками) - для этого в Опере необходимо выставить настройку "Переключение вкладок по Ctrl+Tab" в положение "В порядке использования".
Автор: DollHack
Дата сообщения: 24.01.2014 23:44
StrokesPlus 2.8.0.1

Сhangelog
Автор: Ajlex71
Дата сообщения: 27.01.2014 13:33
StrokesPlus 2.8.1

Сhangelog
Автор: DollHack
Дата сообщения: 14.02.2014 00:12
2.8.1.1
Цитата:
- Internal code cleanup
- Fixed bug where S+ wouldn't honor the proper gesture selection when the only difference was the case of the gesture name ("e" vs "E")
- Apparently when MS named the message CB_FINDSTRINGEXACT, they didn't *really* mean exact...
- Fixed bug where S+ wasn't considering the case when renaming a gesture

Автор: xtort
Дата сообщения: 30.03.2014 18:28
отличная программа.
Если у кого-то не работают жесты, связанные с комбинацией буквенных клавиш, то нужно язык ввода по-умолчанию поставить английский.
Автор программы знает об этом баге, но пока исправить его не может
Автор: oshizelly
Дата сообщения: 30.03.2014 18:45
xtort 17:28 30-03-2014
Цитата:
жесты, связанные с комбинацией буквенных клавиш,

Это что за жесты такие?
Автор: PREVED
Дата сообщения: 30.03.2014 22:54
oshizelly

На вкладке Configure Hotkeys в S+ можно настраивать горячие клавиши, назначая на них lua-скрипты. Правда это уже не будет жестами называться (имхо).
Автор: beome
Дата сообщения: 09.04.2014 13:13
Здравствуйте, подскажите пожалуйста, можно ли в определенном приложении полностью отключать некоторые жесты, чтобы они даже не рисовались. Задача - сохранить работу Firegestures в Firefox без задержек, но добавить дополнительные жесты, которые Firegestures не отрабатывает, например косые вниз/вверх.

PREVED
Спасибо за Ваши гайды.
Автор: PREVED
Дата сообщения: 09.04.2014 13:37
beome

Рисование (отображение линии) у жестов выборочно не отключить. Оно либо есть, либо его нет (глобально).

Насчет жестов в Firefox:
1. Добавить в S+ приложение Firefox
2. Отключить глобальные жесты для приложения Firefox
3. Добавить в S+ (для приложения Firefox) новые жесты, не конфликтующие с жестами FireGestures

Автор: beome
Дата сообщения: 09.04.2014 14:21
PREVED
Ясно, значит подружить не получится, пока отображается линия, происходит задержка, которая не позволяет моментально реагировать Firegestures, хорошо бы для нефункциональных жестов сделать Cancel Delay: 0 ms.
Автор: PREVED
Дата сообщения: 09.04.2014 18:36
beome
Рекомендую написать автору на форум. Он развивает программу и вполне может добавить эту функцию/опцию.
Автор: oshizelly
Дата сообщения: 12.05.2014 19:19
PREVED 17:02 12-05-2014
Цитата:
На в скидку - можно сделать с помощью StrokePlus http://forum.ru-board.com/topic.cgi?forum=5&topic=45983&start=20#lt [?] . Не обязательно жестом, можно и горячую клавишу задействовать. Далее отвечу в той теме когда время будет. Идея неплохая для реализации.
...
В StrokesPlus можно сделать без лишнего телодвижения - не нужно ничего копировать. Выделил текст, нажал на комбинацию клавиш (ну или жест мыши выполнил, кому что удобнее) - получил открытый адрес в браузере.

Самому мне точно такой скрипт не написать: пробовал уже как-то и убедился, что уровнь сложности данной проги превышает предел для моих мозгов.
Так что буду ждать и надеяться...
Автор: PREVED
Дата сообщения: 12.05.2014 23:50
Жест позволяет открывать текстовые ссылки (выделение текста, содержащее неактивную URL т.е. ссылку на сайт или веб-страницу) в браузере по умолчанию. Работает в любом приложении, поддерживающем выделение текста и его копирование в буфер обмена с помощью комбинации Ctrl+C(подавляющее большинство программ). Работает с выделенными фрагментами текста, которые начинаются на "www." или "http://" и т.п.

Настройка жеста мыши:

Открыть настройки StrokesPlus (Preferences...). На вкладке Configure Actions, в разделе Global Actions:

- Создать новое действие (Add Action) и присвоить ему произвольное имя (напр. "Перейти по текстовому URL")

- В настройке Gesture выбрать "жест мыши" - существующий или созданный вами

- В поле "Lua script" добавить код:


Код:
acSendKeys("{DELAY=50}^c")
acDelay(50)
local s = acGetClipboardText()
acShellExecute("open","rundll32.exe", "url.dll,FileProtocolHandler "..s, nil, 1)
Автор: oshizelly
Дата сообщения: 13.05.2014 00:04
PREVED 23:50 12-05-2014
Цитата:
Работает с выделенными фрагментами текста, которые начинаются на "www." или "http://" и т.п.

То есть, для моей основной задачи ("открытие" в поисковике текста, не являющегося гиперссылкой) это решение не подходит?
Автор: PREVED
Дата сообщения: 13.05.2014 00:16
oshizelly

Можно. Вот так (подставляем код вместо вышеприведенного):


Код:
acSendKeys("{DELAY=50}^c")
acDelay(50)
local s = acGetClipboardText()
local u = 'http://www.google.com/search?hl=ru&newwindow=1&output=search&q=' .. s
acShellExecute("open","rundll32.exe", "url.dll,FileProtocolHandler "..u, nil, 1)
Автор: oshizelly
Дата сообщения: 13.05.2014 00:27
PREVED 00:16 13-05-2014
Огромное спасибо! Это уже второе Ваше решение must-have (для меня) за неделю


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

Не факт, что один жест/хоткей лучше, чем два отдельных. Это вопрос личных предпочтений. Например, мне как раз удобнее два разных.
Автор: beome
Дата сообщения: 16.06.2014 04:00
Здравствуйте, есть небольшая проблема с закрытием вкладки в Firefox при просмотре видео с Flash. Т.к. он забирает на себя фокус StrokesPlus, не действуют горячие клавиши Firefox, может быть, кто-нибудь знает решение?

Использую такой код:

Цитата:
acActivateWindow(nil, gsx, gsy, 0)
acSendKeys("^w")

Страницы: 123456789

Предыдущая тема: Программа для скрытого захвата звука с микрофона


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.