<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17493</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17493&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Как назначить сочетание клавиш Alt+RMB на RMB».]]></description>
		<lastBuildDate>Thu, 08 Dec 2022 15:44:25 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155911#p155911</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Огромное, человеческое Благодарю!!<br />Спасибо за Вашу работу.<br />Скрипт супер! Работает без нареканий как швейцарские часики. <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Thu, 08 Dec 2022 15:44:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155911#p155911</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155905#p155905</link>
			<description><![CDATA[<div class="quotebox"><cite>leex пишет:</cite><blockquote><p>В общем думаю, что алгоритм должен быть таков:<br />Если курсор движется и в этот момент зажимается ПКМ то<br />RButton<br />{Alt Down}{RButton Down}<br />Если курсор в какой-то момент остановился, то скрипт продолжает выполняться.<br />Выполняется вплоть до момента отжатия ПКМ.</p></blockquote></div><p>Дополню:</p><p>Бывает так, что сначала зажал ПКМ а потом начинаешь водить курсор. Тут должен вызываться «ротейт». Значит скрипт должен срабатывать и при неподвижном курсоре. <br />Но чтобы срабатывало штатное «контекстное меню» надо в скрипте указать, что «контекст» может сработать на отжатие ПКМ только в течении 1 секунды и только если курсор не двигался в теч этой секунды. То есть если курсор успел подвигаться с момента начала работы скрипта, то вызов штатного «контекстного меню» в момент отжатия ПКМ игнорируется.</p><br /><br /><p>Дополнено</p><div class="quotebox"><cite>leex пишет:</cite><blockquote><p> Значит скрипт должен срабатывать и при неподвижном курсоре.</p></blockquote></div><p>А лучше, наверное в момент начала сдвигания. Тогда мы отсечем лишние инструкции на вызов штатного «контекста» (условия с долями секунды).</p><p>Точно! Если двигаем при зажатой ПКМ, то скрипт начинает работу. Не двигаем если, то и скрипт не срабатывает. Отжали ПКМ после двиганья — скрипт перестал работать не вызывая штатное «контекстное меню». Отжали ПКМ при условии что двиганья не происходило — значит и скрипт не срабатывал, значит будет вызываться штатный «Контекст».</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Thu, 08 Dec 2022 00:25:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155905#p155905</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155903#p155903</link>
			<description><![CDATA[<p>В чат написал.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Dec 2022 23:36:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155903#p155903</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155902#p155902</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Цена вопроса?<br />Можно в личку.</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Wed, 07 Dec 2022 23:32:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155902#p155902</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155901#p155901</link>
			<description><![CDATA[<p>Я бы платно взялся.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Dec 2022 23:30:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155901#p155901</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155900#p155900</link>
			<description><![CDATA[<p>Применял разные временные интервалы, но путаница все же присутствует. <br />Вообще, когда моделишь в Синьке, да и в других 3d пакетах, часто бывает так, что надо чуток шевельнуть камеру (Ротейт) буквально на долю секунды. Наш скрипт имеет проблему: Шевельнул чуток, отжал кнопку и тут же контекст. Так быть не должно. </p><p>Я понял сейчас, что проблему не решить в рамках этого скрипта, так как моя идея с временными интервалами оказалась в корне не верная. Исходя из тестов пришло понимание того, что правильнее будет оперировать не условиями привязанным ко времени, а условием подвижности/неподвижности курсора. <br />Ведь когда зажата комбинация клавиш и в этот момент движется курсор, то понятное дело — пользователь желает либо вертеть, либо масштабировать сцену. Скрипт должен стартовать только при движущемся курсоре. А при неподвижном курсоре + ПКМ будет стартовать дефолтное «контекстное меню».</p><p>В общем думаю, что алгоритм должен быть таков:<br /><em>Если курсор движется и в этот момент зажимается ПКМ то<br />RButton<br />{Alt Down}{RButton Down}<br />Если курсор в какой-то момент остановился, то скрипт продолжает выполняться.<br />Выполняется вплоть до момента отжатия ПКМ.</em></p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Wed, 07 Dec 2022 23:25:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155900#p155900</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155898#p155898</link>
			<description><![CDATA[<p>Благодарю, <strong>teadrinker</strong>!</p><p>Тестирую скрипт. <br />Отпишусь.</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Wed, 07 Dec 2022 22:29:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155898#p155898</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155897#p155897</link>
			<description><![CDATA[<p>Вроде так:<br /></p><div class="codebox"><pre><code>#IfWinActive ahk_exe CINEMA 4D.exe
    RButton::
    KeyWait, RButton, T.09 ; .09 это 90 ms
    if !ErrorLevel
        Send {RButton}
    else {
        Send {Alt Down}{RButton Down}
        KeyWait, RButton, T1
        if !ErrorLevel
            Send {Alt Up}{RButton Up}{RButton}
        else {
            Keywait, RButton
            Send {Alt Up}{RButton Up}
        }
    }
    Return
#IfWinActive</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 07 Dec 2022 21:15:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155897#p155897</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155896#p155896</link>
			<description><![CDATA[<p>Я только сейчас понял, что вы имели ввиду про фиксированное во времени отжатие, и запуск, например подпрограмм.<br />По умолчанию короткий клик на вызов контекстного меню работает&nbsp; так:<br />Нажал и тут же (в течении примерно 1 секунды) отжал. Контекстное меню вызывается именно в момент быстрого отжатия RButton UP, а не нажатие на RMB.<br />Эти миллисекунды c момента нажатия до момента RButton UP и есть наш условный &quot;короткий клик&quot;.</p><p>Наш скрипт все-таки работает с изъяном, несмотря на то, что я как бы &quot;нашел золотую середину&quot; в 88 ms. <br />Тестирую в работе и вижу, что часто идет путаница. То контекст не успевает сработать за 88 ms, то команда &quot;Rotate&quot; вызывается со значительной задержкой если изменить 88 ms на более длительный временной интервал. <br />Не найти тут &quot;золотую середину&quot; — можно лишь чтобы четко работал только &quot;контекст&quot;, но с задержкой вызова команды&nbsp; &quot;Rotate&quot;. Либо мгновенный &quot;Rotate&quot; если оставить 88 ms или меньше, но тогда не будет правильно работать вызов &quot;контекстного меню&quot;.</p><p>Вот какие мысли посетили меня чтобы улучшить алгоритм:&nbsp; <br />Если нажали ПКМ и еще не успели отпустить кнопку в течении 88 ms или около того, то тут&nbsp; должен&nbsp; вызываться &quot;Rotate&quot; (вызывается &quot;ротейт&quot; почти мгновенно — в минимальном временном интервале, (потом можно будет настроить миллисекунды)), но если отпустили в течении, например 1 секунды или больше, то &quot;ротейт&quot; должен перестать работать, чтобы дать возможность сработать команде по умолчанию &quot;Контекст&quot;. А если отжатие за 1 секунду (или больше) не произошло, то продолжает работать &quot;ротейт&quot; до любого во времени момента отжатия ПКМ.<br />Можно ли попросить перевести этот алгоритм на язык программирования?</p><p>&quot;Rotate&quot; это наш&nbsp; {ALT}{RButton} до момента отжатия ПКМ.<br />&quot;Контекст&quot; — скрипт отдает приоритет программным командам по умолчанию при отжатии ПКМ (короткий клик в ms).</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Wed, 07 Dec 2022 20:00:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155896#p155896</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155895#p155895</link>
			<description><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Кинуть скрипт в Автозагрузку или каждый раз запускать вручную - на ваше усмотрение. Из опыта могу сказать, что подобный скрипт вообще не нагружает компьютер, даже если разглядывать под микроскопом.</p></blockquote></div><p>Если все так, как вы говорите, то наверное озадачиваться сложным путем (планировщики, события, мониторинг процессов, батники и упаковка в исполняемый) не имеет смысла.</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Wed, 07 Dec 2022 19:55:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155895#p155895</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155876#p155876</link>
			<description><![CDATA[<p>Кинуть скрипт в Автозагрузку или каждый раз запускать вручную - на ваше усмотрение. Из опыта могу сказать, что подобный скрипт вообще не нагружает компьютер, даже если разглядывать под микроскопом.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 06 Dec 2022 18:38:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155876#p155876</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155875#p155875</link>
			<description><![CDATA[<p><strong>ypppu</strong><br />Чтоб автоматизировать и забыть можно настроить автозапуск при старте компа.<br />Но тогда процессы всегда будут висеть в системе. Я не сторонник.</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Tue, 06 Dec 2022 18:11:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155875#p155875</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155874#p155874</link>
			<description><![CDATA[<p>В AutoHotkey такая штука уже предусмотрена. Выше я говорил про обычные горячие клавиши - они работают при любых обстоятельствах. Но при помощи специальных директив можно заставить их работать при определённых условиях. Напрмер:<br />#IfWinExist - гор. клавиша будет работать только пока существует определённое окно (в Вашем случае -&nbsp; Photoshop).<br />#IfWinActive - гор. клавиша будет работать только когда определённое окно активно. В другом окне гор. клавиша не будет функционировать.<br />В общем от пользователя нужно только запустить скрипт, дальше скрипт уже сам разберётся, когда следует задействовать гор. клавиши.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 06 Dec 2022 17:41:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155874#p155874</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155873#p155873</link>
			<description><![CDATA[<p>Да сейчас вроде все отлично. Комфорт. Вопрос решен. Всем спасибо!</p><p>Но хотел бы еще поинтересоваться по поводу автоматического запуска в момент старта программы для которой этот скрипт предназначен.&nbsp; <br />Для запуска скрипта (из первого поста), который меняет назначение клавиш в Фотошопе я использую планировщик заданий.<br />Скрипт упаковал в .ехе чтобы управлять процессами.<br />1. Запуск скрипта (.ехе)&nbsp; при определенных условиях. В моем случае — старт Photoshop.<br />2. Выключение скрипта при закрытии Photoshop. Срабатывает батник на событие, упакованный в .ехе Kill_Proces.</p><p>Вопрос, единственный ли это путь для запуска и закрытие скрипта для определенной программы?</p>]]></description>
			<author><![CDATA[null@example.com (leex)]]></author>
			<pubDate>Tue, 06 Dec 2022 17:24:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155873#p155873</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как назначить сочетание клавиш Alt+RMB на RMB]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=155872#p155872</link>
			<description><![CDATA[<div class="quotebox"><cite>leex пишет:</cite><blockquote><p>Верно, но момент отпускания не фиксирован по времени.</p></blockquote></div><p>В каком смысле &quot;не фиксирован&quot;? Вы можете в скрипте создать горячую клавишу <strong>RButton UP::</strong>. Таким образом, при каждом отпускании правой кнопки мышки скрипт будет выполнять подпрограмму, которую Вы укажите. Более подробно механизм вычисления времени удержания кнопки я описал в предыдущем посте.</p><p>Описание A_TickCount и практические примеры описаны в статье <strong>Переменные и выражения / Встроенные переменные: даты и времена</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 06 Dec 2022 17:03:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=155872#p155872</guid>
		</item>
	</channel>
</rss>
