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

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

Автор: PREVED
Дата сообщения: 06.01.2015 15:03
GangNamStyle
Команда acDelay добавляет задержку при исполнении жестов (уже после распознавания), поэтому не поможет (если я правильно понял вопрос).
В Preferences задержка распознования работает глобально для всех программ. Так что отдельно для MindManager задержку при распознавании жестов не задать. Я бы написал разработчику на форум - может он добавит эту возможность в список на реализацию. Даже если он добавит новую переменную (для lua), в которую писалось бы время выполнения жеста, уже можно было бы что-то придумать.
Автор: GangNamStyle
Дата сообщения: 07.01.2015 21:21
Я вчера решил этот вопрос. Установил две версии S+ в разные папки. Потом нашел настройки в c:\Users\Никита\AppData\Roaming\ вырезал все папки и файлы из этой папки. Сделал отдельные файлы настройки для Обычного пользования и отдельно для ММ. Далее вставил для каждой установленной проги свои 3и файла в папки с программами. Запускаются обе версии от Администратора. Далее файлы настроек подхватываются из папок и всё работает. Процесс где-то по 300 КБ съедает. Так что не проблема.
Автор: GangNamStyle
Дата сообщения: 14.01.2015 09:57
Сделал поиск в Ютубе через копирование на странице выделенного фрагмента или просто сразу содержимого буфера.
Работает на английском, на русском тексте кракозябры появляются, точнее вопросики.

acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
acSendKeys("{DELAY=50}^c")
acDelay(50)
local s = acGetClipboardText()
local u = 'http://www.youtube.com/results?search_query=' ..s
acShellExecute("open","rundll32.exe", "url.dll,FileProtocolHandler "..u, nil, 1)

есть идеи?

упс.
Исправилось. Глючит периодически Хром. Кому надо - копируйте. Очень удобно. Сделал себе для Яндекса, Гугла, Ютуба,
Автор: Fintrum
Дата сообщения: 04.02.2015 06:26
Подскажите пожалуйста, как предельно просто послать Ctrl + клик левой кнопкой мыши? С acMouseClick не работает.

Должно быть что-то вроде этого:

Код: acActivateWindow(nil, gsx, gsy, 0)
acSendKeys("^{MouseLeft}")
Автор: GangNamStyle
Дата сообщения: 05.02.2015 18:12
acMouseClick(gsx, gsy, 2, 1, 1)

Координаты он берет в этом случае те, с которых началось рисование жеста.
Тебе для чего именно нужен этот клик?

http://prntscr.com/61e7ib
Автор: Fintrum
Дата сообщения: 05.02.2015 23:05
GangNamStyle
Пробовал такой вариант, но не получилось совместить его с Ctrl. Мне нужно просто отправить в окно Ctrl+ЛКМ, и без задержек, т.к. это горячая клавиша в этом приложении.
Автор: shadow_member
Дата сообщения: 06.02.2015 09:48
PREVED
Как- то меня осенило, и выяснил причину неработоспособности у меня жестов прокрутки вверх и вниз- в конце последней строки кода копируется лишний пробел, достаточно его удалить, и эти жесты начинают работать.
Попутно выяснил, что Strokes+ успешно закрывает вкладки браузера с активным проигрыванием YouTube. StrokeIt! на таких страницах пасовал.
Теперь все мои хотелки работают, попробую активно использовать на Win81.
Автор: Fintrum
Дата сообщения: 06.02.2015 10:27
shadow_member

Цитата:
Попутно выяснил, что Strokes+ успешно закрывает вкладки браузера с активным проигрыванием YouTube.

У Вас Chrome?
Автор: shadow_member
Дата сообщения: 06.02.2015 10:41
У меня Firefox.

Добавлено:
Да, для прокрутки по "моим" жестам пришлось удалить жесты "Clipboard - Copy" и "Clipboard - Paste".
Автор: Fintrum
Дата сообщения: 06.02.2015 10:55
shadow_member
А жест совершаете прямо по окну флэш видео Youtube? Просто, чтобы закрыть вкладку с флэшем, нужно сначала щелкнуть по телу страницы, т.е. перевести фокус.
Автор: shadow_member
Дата сообщения: 06.02.2015 15:44
Fintrum
Например, открыто несколько вкладок, в одной из них youtube. Выбираю эту вкладку, на теле страницы не кликаю, делаю жест на странице, иногда под него попадает и окно проигрывателя, вкладка закрывается.
StrokeIt! и после клика по телу страницы все равно не может закрыть такую вкладку.
Автор: shadow_member
Дата сообщения: 06.02.2015 19:01
Для автозапуска на Windows 8.1 пришлось создать задачу с повышенными привилегиями в Планировщике, иначе не обрабатывались окна, открытые от имени админа.
Автор: PREVED
Дата сообщения: 07.02.2015 08:08
Fintrum

Цитата:
GangNamStyle
Пробовал такой вариант, но не получилось совместить его с Ctrl. Мне нужно просто отправить в окно Ctrl+ЛКМ, и без задержек, т.к. это горячая клавиша в этом приложении.


Нужно зажимать Ctrl, кликать ЛКМ, затем отжимать Ctrl.
Пробуйте:


Код:
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
acSendControlDown()
acMouseClick(acGetMouseLocationX(), acGetMouseLocationY(), 2, 1, 0)
acDelay{100}
acMouseClick(acGetMouseLocationX(), acGetMouseLocationY(), 2, 0, 1)
acSendControlUp()
Автор: shadow_member
Дата сообщения: 07.02.2015 17:22
PREVED
Цитата:
А вы точно уверены что эти видео на youtube проигрываются через флэш-плагин, а не через html5?
Нет, не уверен.
Цитата:
Позже планирую поделиться.
Будем ждать, т.к. никто, кроме вас, не может разобраться с этой прогой.

На Win81 в Firefox табы то закрывает, то не закрывает, в общем, тяжко. Наступает состояние незакрытия после каких- то стандартных действий на странице, помогает только перезапуск S+. С учетом этого недостатка в целом StrokeIt! на Win81 работает получше, не без недостатков, но получше. Из недостатков я заметил два- невозможность прокрутки страницы вверх или вниз до упора (или я не смог это сделать) и временами нахождение в панели задач вместо сис. трея.
Чувствую, на Win10 совсем труба будет.
Добавлено:
Цитата:
StrokeIt! на Win81

Цитата:
нахождение в панели задач вместо сис. трея.
Решается жестом минимизации на иконке StrokeIt! в панели задач.

В StrokeIt! сможете реализовать жесты прокрутки вверх / вниз до упора?
Ad
Только что откорректировал этот пост, отправил, и таб перестал закрываться жестом, но закрывается по Ctrl + W.
Автор: PREVED
Дата сообщения: 08.02.2015 11:30
shadow_member

Цитата:
Будем ждать, т.к. никто, кроме вас, не может разобраться с этой прогой.




Я публиковал еще на второй странице. Но с тех пор я уже правил код для более стабильной работы.

Просьба потестировать в Firefox (у меня сейчас в нем не обновляется флэш-плагин, пока не разобрался в чем дело).

1. Создать в S+ новое правило для приложения. В описании. Control Class Name задать GeckoPluginWindow (остальные поля пустые). Примечание: если не заработает в контексте GeckoPluginWindow (не могу проверить), добавить эти жесты в контекст основного окна Firefox.


Код для жеста Создать новую вкладку:

Код: local tx = acGetWindowRight(nil, gsx, gsy)
local ty = acGetWindowTop(nil, gsx, gsy)
local tcy = acGetWindowBottom(nil, gsx, gsy)
acMouseClick(tx-35, (tcy-ty)-((tcy-ty)/2), 0, 1, 1)
acDelay(300)
acSendKeys("{ESC}")
acDelay(100)
acSendKeys("^t")
acMouseMove(gex, gey)
Автор: shadow_member
Дата сообщения: 08.02.2015 15:56
PREVED
В S+ Firefox настроен, как отдельное приложение, с игнорированием глобальных действий, плагин последней версии ххх.305.
Оба жеста срабатывают, только если в строке Owner Class Name прописано MozillaWindowClass, в строке File Name- firefox.exe, а все остальные строки пусты. Но работают нестабильно, несколько раз сработали над областью флэш, затем стали срабатывать только вне ее, но таб с флэшем закрывался или создавался новый.
К окончанию написания поста перестали срабатывать совсем, перезапуск S+ не помогает.
Насчет GeckoPluginWindow не совсем понял, но создал для него два правила (аналогичные два для FF отключил), как для отдельного приложения- не заработали.

Добавлено:
Открыл, закрыл несколько страниц традиционным способом- жесты снова заработали.

Добавлено:
После 5 мин. простоя компа- перестали
Автор: PREVED
Дата сообщения: 08.02.2015 17:20
shadow_member

Цитата:
Но работают нестабильно, несколько раз сработали над областью флэш, затем стали срабатывать только вне ее, но таб с флэшем закрывался или создавался новый.


Эти жесты работают по принципу отбирания фокуса у флэш-плагина при помощи вывоза контекстного меню в браузере (как можно заметить). Меню тоже не мелькает? Если нет, значит жест не отрабатывает.
Я починил флэш-плагин у себя в FF. Так вот, у меня этот жест вообще не работает на youtube (видео на флэше, НЕ html5). Открываю ролики rutube(там 100% флэш) все всегда работает, причем стабильно.

Даже не знаю тогда (нужно разбираться). Можно другую версию S+ попробовать. Я до сих по использую 2.7.6.0 т.к. переходить пока опасаюсь из-за большого кол-ва скриптов.


Цитата:
Насчет GeckoPluginWindow не совсем понял, но создал для него два правила (аналогичные два для FF отключил), как для отдельного приложения- не заработали.


Подтверждаю. У меня раньше работало. И в firefox и в операх. Видимо со старой версией флэша...

Добавлено:


Жест по Youtube-вским видео (на флэше) работают только из контекста GeckoPluginWindow! Но работает, причем даже если фокус внутри видео (на паузу, например если нажать).
Автор: shadow_member
Дата сообщения: 08.02.2015 17:43

Цитата:
отбирания фокуса у флэш-плагина при помощи вывоза контекстного меню в браузере
Это заметил, контекстное меню кратковременно мелькает.
Автор: PREVED
Дата сообщения: 09.02.2015 07:07
shadow_member

Цитата:
Это заметил, контекстное меню кратковременно мелькает.


Оно всегда мелькает, даже в случае когда жест не срабатывает?
Автор: shadow_member
Дата сообщения: 09.02.2015 07:35
Да, даже когда жест не срабатывает.
Автор: PREVED
Дата сообщения: 09.02.2015 09:09
shadow_member
1. Очень странно. Firefox последней версии? Я просто сам использую еще "древнюю" 24-ю. Может влияет?

2. В коде жестов можно попробовать увеличить значение в строчках с операторами Delay (т.е. увеличить задержку).

3. А на опере presto работает? Чтобы работало над видео youtube (для оперы), жесты нужно прописать для контекстов:
Control Class Name: PluginWrapperWindow - для 64-битной сборки Opera (остальные поля пустые)
Control Class Name: aPluginWinClass - для 32-битной Opera (остальные поля пустые)
А также добавить жесты в контекст самой Оперы (opera.exe, OperaWindowClass).
Автор: shadow_member
Дата сообщения: 09.02.2015 10:06
PREVED
1. У меня тоже FF v24.0.
2. Попробую увеличить задержку.
3. Opera не использую.
Автор: shadow_member
Дата сообщения: 10.02.2015 13:53
Кажется, моим мучениям пришел конец. Сделал все нужные жесты, в т.ч. прокрутку вверх/вниз до упора. Если так же заработает на Win81, то будет в самый раз.
Автор: PREVED
Дата сообщения: 10.02.2015 14:49
shadow_member
А S+ так и не заработал в Firefox, даже с увеличенной задержкой?

Я тестировал жест "вниз" (новая вкладка) над флэшем в FF. Из 20-и (подряд) попыток исполнения, все 20 раз жест сработал - фокус отбирался у флэша, открывалась новая вкладка. Замечу, что у меня в FF более 40 расширений. Жест срабатывает даже когда Firefox начинает постоянно грузить ЦП до 20% (много вкладок с JS, флэш).

В вашем случае, возможно, имеет место быть:
- особенность конфигурации Firefox
- особенность железа (мышь, недостаточная производительность ПК)
- конфликт с другим софтом (Хотя у меня S+ прекрасно уживается с StrokeIt. Но они, разумеется, назначены на разные клавишах мыши)

Все это, разумеется, только версии.
Автор: shadow_member
Дата сообщения: 10.02.2015 15:27
PREVED
Цитата:
S+ так и не заработал в Firefox, даже с увеличенной задержкой?
Так и не заработал, плюс стабильные самовыключения с неуловимыми предпосылками.
В FF 12 расширений, система свежая, железо достаточно мощное.
Автор: Fintrum
Дата сообщения: 12.02.2015 15:53
PREVED
Спасибо большое, а не в курсе как посылать Ctrl+Plus(+) или Ctrl+Mouse Wheel Up\Down?

acSendKeys("^{PLUS}") не работает, хотя acSendKeys("^{SUBSTRACT}") работает. И вот можно ли послать скролл вверх\вниз?

shadow_member
Вы устанавливали strokesplussetup_2.8.2.0_x64_signed? Он работает даже с окнами, открытыми с административными правами. Кстати, shadow_member это один человек?



Вот код, который гарантированно работает с Flash в Firefox, делая клик по адресной строке, поэтому его нужно редактировать под себя, убрав последние две строки и смотреть, попадает ли клик по адресу.

В StrokesPlus нужно нажать Add App и навести Find Window "прицел" на воспроизводящийся ролик в Youtube, потом убрать лишние строки, вроде File Name "FlashPlayerPlugin_16_0_0_350.exe" ибо при обновлении флеша они меняются, главное оставить свой Control Class Name.


Код: acActivateWindow(nil, gsx, gsy, 0) -- Активирует окно под жестом.
local txLeft = acGetWindowLeft(nil, gsx, gsy)
local txRight = acGetWindowRight(nil, gsx, gsy)
local tyTop = acGetWindowTop(nil, gsx, gsy)
local tyBottom = acGetWindowBottom(nil, gsx, gsy) -- Получаем координаты окна.

acMouseClick(txLeft +1000, tyTop +50, 2, 1, 1) -- Клик передающий фокус в браузер, нужно редактировать txRight, tyTop под свою адресную строку.

acSendKeys("^w") -- Горячая клавиша для закрытия вкладки.

acMouseMove(gex, gey) -- Возвращаем указатель мыши на место начала жеста.
Автор: shadow_member
Дата сообщения: 19.02.2015 14:57
Почти сконфигурировал S+ под себя. Возникли два вопроса:
1. в процессе настройки появилось окно с расшифровкой клавиш, напр., CTRL- это ^, ALT- это %, а теперь не могу его вызвать, чтобы уточнить вводы по другим клавишам.
2. Не могу реализовать жест "свернуть все окна" (WIN+D), скорее всего, из-за ошибок в синтаксисе. Вот тут бы и помогло окно из вопроса №1.
Добавлено:
Скрипт нашел на офсайте
Цитата:
acSendKeys("@d")
, т.е. клавиша WIN- это @, заработало! Остался первый вопрос.
Автор: PREVED
Дата сообщения: 20.02.2015 00:23
Fintrum

Цитата:
Спасибо большое, а не в курсе как посылать Ctrl+Plus(+)
acSendKeys("^{PLUS}") не работает, хотя acSendKeys("^{SUBSTRACT}") работает.


Странно. У меня работает. Это во всех программах или в какой-то конкретной?



Цитата:
или Ctrl+Mouse Wheel Up\Down?


Можно.
Но с этим не так то просто как кажется. Для этого через функцию Winapi нужно отправлять сообщение в окно. Но у разных окон(которые принадлежат разным программам) могут быть свои особенности восприятия этой команды.

В общем и целом (для большинства окон) должно работать это:

Ctrl+Колесо вверх

Код: acPostMessage(acGetWindowByPoint(gsx, gsy), "0x20A", 0x00780000+0x08, bit32.lshift(gsy,16)+gsx)
acSendControlDown()
acDelay{100}
acPostMessage(acGetWindowByPoint(gsx, gsy), WM_VSCROLL, 0x00, nil)
acDelay{100}
acSendControlUp()
Автор: shadow_member
Дата сообщения: 20.02.2015 07:15
PREVED
Спасибо, точно там.

Так же: пробел = Space (инфо с форума программы). Увидев на форуме скрипт на две прокрутки страницы, понял, как мало я понимаю
slava10779
(это ответ на вопрос, заданный тут)
StrokesPlus- жесты прокрутки, которые ранеевыкладывал PREVED в этой теме, работают в ТС, но у меня как-то через раз:
---------------------------------------------
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
acSendKeys("{TAB}")
acDelay(100)
acSendKeys("{HOME}")
---------------------------------------------
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
acSendKeys("{TAB}")
acDelay(100)
acSendKeys("{END}")
---------------------------------------------
Just Gestures- жесты прокрутки работают в ТС без замечаний.
Автор: PREVED
Дата сообщения: 20.02.2015 08:14
slava10779

Вот скрипт перемотки вверх для Total Commander. Для перемотки вниз меняем {HOME} на {END}.

Код:
acActivateWindow(acGetWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
acDelay{100}
acSendKeys("{HOME}")

Страницы: 123456789

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


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