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

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

Автор: slava10779
Дата сообщения: 22.02.2015 12:47
Ага, уже попробовал вписать несколько условий-все работают. Очень удобно! Спасибо за помощь. А как тут по теме искать? Вобще, есть поиск по теме на сайте? Чет нигде не вижу.
Автор: shadow_member
Дата сообщения: 23.02.2015 17:50

Цитата:
А как тут по теме искать?
Сверху на каждой странице ссылка "Версия для печати", затем Ctrl + F и вперед.
Автор: shadow_member
Дата сообщения: 25.02.2015 10:08
В общем, благодаря помощи форумчан, удалось избавиться от всех ранее высказанных багов программы на Win81. Унифицировал конфиг 1:1 с Just Gestures, каждая используется на разных машинах в зависимости от требований лицензионной чистоты. Т.к. жесты одинаковые, то разницы в использовании почти не замечаю, разве что на S+ жест нужно более строго рисовать, иначе не сработает или отработает не то действие. Например, если в жесте "перейти на следующий таб" (Up-Right) часть "...Right" выполнить слишком короткой, то отработается жест "прокрутка вверх до упора" (Up). В JG такого не бывает, там достаточно совсем короткого движения "...Right", чтобы жест был отработан правильно.
Но это,так скажем, придирки.
Автор: Fintrum
Дата сообщения: 25.02.2015 10:21
shadow_member
А Вы пытались регулировать Match Probability в Preferences, должно помочь, как раз за "строгость" отвечает, на 100% вообще невозможно попасть в жест.
Автор: shadow_member
Дата сообщения: 25.02.2015 10:44
Fintrum
Нет, не пытался, сейчас выставил 50%, посмотрю реакцию.
Автор: PREVED
Дата сообщения: 25.02.2015 10:51
За точность распознавания отвечают два параметра.

Match precision: качество интерполяции при распознавании жестов. В справке довольно скупое описание. Разработчик рекомендует оставить значение в 100 точек. Но на точность влияет (по идее).

Match probability - вероятность попадания. Больше значение - строже.

Еще на точность(строгость) влияет набор начертаний для каждого жеста. В S+ внутри жеста можно настроить(и хранить) несколько его начертаний. Если одно начертание сделать идеально ровным, а другое несколько "кривоватым", S+ будет это учитывать при распознавании выбирая какое-то среднее значение между этими двумя крайностями. Тоже самое с длинной линий у жеста. Если добавить одно начертание с короткой, а другое с длинной - S+ должен находить баланс между ними и правильно узнавать жест.
Автор: Fintrum
Дата сообщения: 25.02.2015 10:57
PREVED

Цитата:
В S+ внутри жеста можно настроить(и хранить) несколько его начертаний.

А каким образом это сделать? S+ разве не заменяет существующий жест, если назвать новый так же?
Автор: PREVED
Дата сообщения: 25.02.2015 12:40
Fintrum

Цитата:
А каким образом это сделать? S+ разве не заменяет существующий жест, если назвать новый так же?


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

Автор: shadow_member
Дата сообщения: 25.02.2015 16:15
Для просмотра форума пробую использовать жест "перейти на следующий таб и прокрутить вниз до упора", работает, конечно. Как сделать, чтобы страница недокручивалась до конца на несколько сотен пикселей, напр., на 500, 600? Это как раз то пространство, которое занимает окно написания поста и прочие неинформативные строки, при таком решении они окажутся за нижней рамкой монитора, что и требуется.
Автор: PREVED
Дата сообщения: 25.02.2015 18:50
shadow_member

Цитата:
Для просмотра форума пробую использовать жест "перейти на следующий таб и прокрутить вниз до упора", работает, конечно. Как сделать, чтобы страница недокручивалась до конца на несколько сотен пикселей, напр., на 500, 600?


В некоторых браузерах это можно сделать их же средствами.
Если средствами S+. В скрипт нужно добавить строчки нажатия на кнопку UP ( {UP} ) или Page UP, либо прокрутку колесом вверх (нужное кол-во прокруток), сразу после имитации нажатия END.

p.s. Прокрутка скроллинга вверх для FF (работает в версии 25.0):
acPostMessage(acGetWindowByPoint(gsx, gsy), "0x20A", 0x00780000, bit32.lshift(gsy,16)+gsx)

Для других браузеров и программ код будет отличаться! Обсуждалось на пятой странице.
Автор: shadow_member
Дата сообщения: 25.02.2015 19:29
PREVED
Цитата:
acPostMessage(acGetWindowByPoint(gsx, gsy), WM_MOUSEWHEEL, 0x00780000, 0x01F90396)
Не заработало. Заработал этот код, куда добавил 13 строчек:
Цитата:
-- this code will switch to the next window or tab within
-- a program, it's the same as pressing CTRL+SHIFT+TAB
-- and scroll bottom, then scroll up 13 times
acSendKeys("^{TAB}")
acDelay{100}
acSendKeys("{END}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
acSendKeys("{UP}")
Автор: PREVED
Дата сообщения: 25.02.2015 19:58
shadow_member

Немного не то запостил. Скроллинг вот так заработет (для firefox):
acPostMessage(acGetWindowByPoint(gsx, gsy), "0x20A", 0x00780000, bit32.lshift(gsy,16)+gsx)

Хотя кнопкой UP наверное все-таки проще.
Автор: shadow_member
Дата сообщения: 26.02.2015 19:16
Заметил такую странную "вэшш": если запустить Firefox жестом, Strokes+ или Just Gestures, роли не играет, то парольный менеджер не может вставить логин/пароль. Как это объяснить, а еще лучше, решить? Если запустить Firefox "традиционным" способом, то проблем не возникает.
Автор: PREVED
Дата сообщения: 27.02.2015 00:25
shadow_member
А парольный менеджер с какими правами запускается?
Firefox, скорее всего, при запуске из S+ наследует права последнего (админские, насколько я понимаю). Приложение с пониженными правами (возможно это парольный менеджер) может испытывать проблемы с доступом к более привилегированному приложению.
Автор: shadow_member
Дата сообщения: 27.02.2015 07:01
PREVED
Парольный менеджер запускается от админа.
Автор: shadow_member
Дата сообщения: 28.02.2015 17:52
PREVED
Цитата:
Парольный менеджер запускается от админа.
ФигВам- изба такая. Это я думал, что от админа, но в процессе тестирования и откатов вместо "от админа" стало "от юзера". Вернул "от админа", и встало на место. Это я о
Цитата:
если запустить Firefox жестом, Strokes+ или Just Gestures, роли не играет, то парольный менеджер не может вставить логин/пароль.
Автор: shadow_member
Дата сообщения: 26.03.2015 16:42
До позавчерашних обновлений Windows 10 10041 S+ нормально работал на ней, а теперь жутко тормозит систему, достаточно лишь сделать простой клик ПКМ. То, что мешает именно S+, убедился, достаточно деактивировать S+, как тормоза пропадают.
Теперь получается, что под Win10 нет нормальной программы, т.к. S+ ведет себя, как описал, а Just Gestures требует .NET Framework 3.5, которого в Win10 нет. Вообще-то он есть, его можно включить в компонентах, но ужасно не хочется, к тому же, при этом уже Binisoft Windows Firewall Control по части GUI начинает вести себя не совсем хорошо.
Одни проблемы с Win10, хотя ее еще вроде как и нет.
Если кто пробовал S+ на Win10, просьба поделиться впечатлениями.
Автор: Edmanz
Дата сообщения: 26.03.2015 20:58
Помогите, пожалуйста с простейшим.
Запуск браузера или другой программы - с ошибкой. Перепробовал кучу вариантов - не пропускает.
http://i.piccy.info/i9/8b3eb6b10bcd8e22576b52e34c81430d/1427392509/10207/883109/Snymok_500.jpg
Автор: shadow_member
Дата сообщения: 26.03.2015 21:40
Edmanz
По такому коду у меня запускает любую аппликацию, но Хромого не держу:


Добавлено:
И в ошибке пишется, что неправильный ввод команды с акцентом на обратный слэш.
Автор: Edmanz
Дата сообщения: 26.03.2015 23:03
shadow_member, спасибо. Доходит помаленьку
Автор: 404NF
Дата сообщения: 02.04.2015 15:49
Для решения проблемы с использованием жестов на страницах, где запущен flash, появилось дополнения для Firefox https://addons.mozilla.org/ru/firefox/addon/flash-gestures Правда, если выполнять жест над окном плеера, то срабатывает не все и не всегда (например, на Youtube не срабатывает команда {BROWSERBACK}) Но на других участках страницы все работает отлично.
Автор: PREVED
Дата сообщения: 03.04.2015 18:52
404NF
На официальном форуме S+ выкладывалось подобное решение (человек делал расширение). Но это выглядит более "удобоваримо", но только для FF.
Автор: BelyiPisez
Дата сообщения: 06.04.2015 16:18
ПРОБЛЕМА после запуска Strokes Plus: непосредственно после запуска не работают комбинации с Ctrl (напр. Ctrl+W, Ctrl+S, Ctrl+Z и т.п.). Насколько я заметил – именно Ctrl+любая буква.
Лечится только изменением кода какой-нибудь из этих команд (т.е., изменяя код только ОДНОЙ, начинают работать ВСЕ)

Т.е. загрузил компьютер, запустил S+ – комбинации с Ctrl не работают.
Вошел в настройки, поставил фигурные скобки вокруг «w» (в Ctrl+W), применил, убрал фигурные скобки вокруг «w», применил.
Заработало СО ВСЕМИ комбинациями.
И так каждый раз при перезагрузке компа. (Если просто выйти из S+ и войти обратно в рамках одной сессии – все Ок)
Но ведь это же никуда не годится!

Как вариант – прикрутил старый добрый «костыль» - эмулирую эти комбинации через NirSoft.


МОЖНО ЛИ ОБОЙТИСЬ БЕЗ «КОСТЫЛЯ»? Почему напрямую не работает через acSendKeys?

(Asus VivoTab Note 8 - Windows 8.1)
Автор: PREVED
Дата сообщения: 07.04.2015 13:02
BelyiPisez
Раскладка никак не влияет? Если что, проблемы с раскладкой в Win 8.1 обсуждались здесь (там же решение).
Еще возможен конфликт с другим ПО, использующим глобальные клавиатурные комбинации. Не мешало бы проверить S+ отдельно.

Если не поможет, попробуйте откатить S+ на предыдущий билд (можно просто подменой dll и exe).
Автор: 404NF
Дата сообщения: 07.04.2015 15:15
BelyiPisez
А не пробовали записать сочетания клавиш через сканкоды, как здесь? http://forum.ru-board.com/topic.cgi?forum=5&topic=45983&start=20#14
Автор: BelyiPisez
Дата сообщения: 08.04.2015 12:13
PREVED
Спасибо
Проблема действительно связана с языком
Только решение с автопереходом на англ яз. мне кажется еще менее элегантным, чем запуск с помощью Nircmd (может потому, что он уже установлен и я им уже давно пользуюсь). К тому же у меня установлено 4ре языка и переключение по “ё” (она же ‘).

404NF
Логически должно бы работать - попробую


Выплыла неожиданная проблема с запуском Windows Journal


Почему-то при запуске жестом с помощью acRunProgram возникают глюки с фокусом окна.



Добавлено:
[more] Т.е., например, запускаем жестом Windows Journal, рисуем, нажимаем крестик «Закрыть» - и диалоговое окошко с вопросом о сохранении открывается на заднем фоне (т.е. окно на переднем плане неактивно – заголовок окна серый, а диалоговое окно с предложением сохранения находится за ним – его не видно) .
Таким образом, чтобы добраться до диалогового окна нужно нажать на неактивное окно самого приложения на переднем плане – тогда на передний план выскакивает диалоговое окошко.

Проблема не только (и даже не столько) в этом диалоговом окошке, а еще и в том, что в эту программу будет невозможно перейти по Alt+Tab – вместо перехода теряется фокус окна, но само окно остается на переднем плане (а это уже геморрой).

Проверил запуск Word, Excel, Firefox – глюка с фокусом нет
Проверил в StrokeIt (еще не успел удалить после установки S+) – такой проблемы там нет.

Как решение для запуска WinJournal - в свойствах ярлыка в Start Menu (у меня стоит Classic Shell) назначил ГорячуюКомбинацию и уже ее эмулировал из S+.

Однако мне нужно запустить файл для этого приложения (к счастью всегда один и тот же). Поэтому прикрутил «КОСТЫЛЬ»:
1) Создал bat-файл с запуском файла в программе,
2) перекомпилировал его в exe (если временное промигивание окошка cmd вас не парит – этого можно не делать),
3) создал ярлык на этот exe (можно на bat)
4) переместил ярлык в Start menu
5) в свойствах ярлыка в Start Menu назначил ГорячуюКомбинацию
6) эмулировал ГорячуюКомбинацию в S+

Если есть у кого решение - поделитесь.
Ведь если понадобится запускать не один файл в Journal, то КОСТЫЛЕМ устанешь махать [/more]
Автор: 404NF
Дата сообщения: 08.04.2015 20:38
Не подскажете, как сделать, чтобы жесты адресовались в неактивное окно? Часто бывает так, что окно браузера развернуто, но не активно (а по его виду даже непонятно, активно оно или нет). Рисуешь жест - нет реакции. Приходится щелкнуть левой кнопкой чтобы активировать окно, а уже потом выполнять жест.
Автор: PREVED
Дата сообщения: 09.04.2015 11:28
BelyiPisez
Правильно ли я понимаю, что под журналом Windows подразумевается просмотр системных событий (Event-ов)? Тот который работает через mmc.exe (консоль microsoft) ?


Цитата:
Т.е., например, запускаем жестом Windows Journal, рисуем, нажимаем крестик «Закрыть» - и диалоговое окошко с вопросом о сохранении открывается на заднем фоне (т.е. окно на переднем плане неактивно – заголовок окна серый, а диалоговое окно с предложением сохранения находится за ним – его не видно) .


S+ запускается с наивысшими привилегиями или с ограниченными?

Имеет ли окно mmc.exe (с журналом windows) статус "поверх всех окон" ?

Какой строкой в скрипте запускается просмотр журнала?

Попробуйте использовать команду acShellExecute для запуска eventvwr.msc (из системного каталога windows). Данное действие также откроет просмотр событий (журнал) Windows.




404NF

Цитата:
Не подскажете, как сделать, чтобы жесты адресовались в неактивное окно? Часто бывает так, что окно браузера развернуто, но не активно (а по его виду даже непонятно, активно оно или нет). Рисуешь жест - нет реакции. Приходится щелкнуть левой кнопкой чтобы активировать окно, а уже потом выполнять жест.


Нужно предварительно активировать окно. В жест разворачивания/восстановления окна вставить строчку (перед командой acMaximizeOrRestoreWindow...):
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)

Автор: 404NF
Дата сообщения: 10.04.2015 18:12
PREVED

Цитата:
Нужно предварительно активировать окно.

Спасибо, работает. Но эту строку нужно вставить в каждое действие, которое я хочу выполнять над неактивным окном. А нет какой-то настройки или глобального кода, чтобы все жесты адресовались окну, над которым они выполняются, независимо от фокуса?
Автор: PREVED
Дата сообщения: 10.04.2015 23:57
404NF

Цитата:
А нет какой-то настройки или глобального кода, чтобы все жесты адресовались окну, над которым они выполняются, независимо от фокуса?


На вкладке Global Lua нужно вставить этот код в функцию sp_before_action (либо модифицировать эту функцию, если она уже присутствует в глобальном lua-скрипте):


Код:
function sp_before_action(gnm, gsx, gsy, gex, gey, gwd, gapp, gact)
acActivateWindow(acGetOwnerWindowByPoint(acGetMouseLocationX(), acGetMouseLocationY()),0,0)
end

Страницы: 123456789

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


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