<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8013</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8013&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: как назначить для LButton & RButton среднюю кнопку мыши».]]></description>
		<lastBuildDate>Tue, 06 Dec 2016 12:55:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109661#p109661</link>
			<description><![CDATA[<p>Добрый день, подскажите, пожалуйста, как модифицировать код из 4 сообщения так, чтобы при одновременном клике на ПКМ + ЛКМ происходило зажатие Средней кнопки&nbsp; {MButton Down}.&nbsp; И она оставалась зажатой до тех пор, пока не будет произведен клин ПКМ?</p>]]></description>
			<author><![CDATA[null@example.com (sd7962)]]></author>
			<pubDate>Tue, 06 Dec 2016 12:55:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109661#p109661</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69024#p69024</link>
			<description><![CDATA[<p>Немного дополнил скрипт:<br /></p><div class="codebox"><pre><code>SendMode, Input
SetKeyDelay, -1
SetMouseDelay, -1
Sens := &quot;3&quot;           ;================ [ Чувствительность прокрутки ] ====================
T_Sens := &quot;3&quot;        ;==================== [ Интервал прокрутки ] ========================
MB_U := &quot;{MButton Up}&quot;, MB_D := &quot;{MButton Down}&quot;, WA := &quot;WheelUp&quot;, WD := &quot;WheelDown&quot;


RButton::
If GetKeyState(&quot;LButton&quot;, &quot;P&quot;) {
    Send, % (OnF := !OnF) ? (MB_D) : (MB_U)
    return
}
MemPos_Y := MGP_Y(), MemPos_X := MGP_X()
Loop
{    
    Slp(&quot;25&quot;)
    If (MemPos_Y &lt;&gt; MGP_Y()) || (MemPos_X &lt;&gt; MGP_X()) {
        Wheel_Funk1(A_ThisHotkey, Sens, T_Sens, WA, WD)
        return
    }
    If !(GetKeyState(&quot;RButton&quot;, &quot;P&quot;)) {
        break
    }
    Slp(&quot;25&quot;)
}
UpDwKeyFunk(A_ThisHotkey)
return


Wheel_Funk1(Hot_key_, Sens, T_Sens, WA, WD)
{
    Loop
    {
        MemPos_Y := MGP_Y(), MemPos_X := MGP_X()
        Slp(T_Sens)
        ((MemPos_Y - Sens) &gt; MGP_Y()) ? MC(WA), ((MemPos_Y + Sens) &lt; MGP_Y()) ? MC(WD)
        ((MemPos_X - Sens) &gt; MGP_X()) ? MC_WL(), ((MemPos_X + Sens) &lt; MGP_X()) ? MC_WR()
        Slp(T_Sens)
        If !GetKeyState(Hot_key_, &quot;P&quot;) {
            return
        }
    }
}
UpDwKeyFunk(Hot_key)
{
    SendInput, % &quot;{&quot; Hot_key &quot; Down}&quot;
    while GetKeyState(Hot_key, &quot;P&quot;)
        Slp(&quot;25&quot;)
    SendInput, % &quot;{&quot; Hot_key &quot; Up}&quot;
}
MGP_Y()
{
    MouseGetPos,, Var_Y
    return, Var_Y
}
MGP_X()
{
    MouseGetPos, Var_X
    return, Var_X
}
Slp(T_Sens)
{
    Sleep, T_Sens
}
MC(Key)
{
    MouseClick, % Key
    return
}
MC_WL()
{
    ControlGetFocus, fcontrol, A
    SendMessage, 0x114, 0, 0, % fcontrol, A
}

MC_WR()
{
    ControlGetFocus, fcontrol, A
    SendMessage, 0x114, 1, 0, % fcontrol, A
}

ESC::
    ExitApp</code></pre></div><p><strong>Функционал</strong>:<br />1) Нажимаем: ЛКМ + ПКМ&nbsp; = Срабатывать удержание СКМ ,<br />&nbsp; &nbsp; &nbsp;Повторно нажимаем ЛКМ + ПКМ&nbsp; &nbsp;=&nbsp; СКМ будет становиться отпущеной.<br />2) При одновременном нажатии ПКМ и вращении шарика (Или движение мишки Вверх / Низ) =&nbsp; прокрутка вверх-вниз.<br /><strong>Добавлено:</strong><br />3) При одновременном нажатии ПКМ и вращении шарика (Или движение мишки Вправо / Влево) =&nbsp; прокрутка Вправо-Влево.</p>]]></description>
			<author><![CDATA[null@example.com (migomigo)]]></author>
			<pubDate>Thu, 31 Jan 2013 15:28:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69024#p69024</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68966#p68966</link>
			<description><![CDATA[<p>Да, я в курсе, что предупреждения можно отключать.<br />Уважаемому migomigo большое спасибо - скрипт очень удобный.</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Tue, 29 Jan 2013 13:48:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68966#p68966</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68953#p68953</link>
			<description><![CDATA[<p>Так сказано же запустить <strong>этот</strong> скрипт, а не вставить код в файл шаблона ahk скрипта.<br />Уберите директиву #Warn из первой строки.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 29 Jan 2013 13:33:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68953#p68953</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68951#p68951</link>
			<description><![CDATA[<div class="quotebox"><cite>migomigo пишет:</cite><blockquote><p>Попробуйте запустить этот скрипт.</p></blockquote></div><p>Выдает предупреждение при запуске и при первом срабатывании:<br />http://savl.spb.ru/screens/2013-01-29_1720.png<br />http://savl.spb.ru/screens/2013-01-29_1723.png</p><p>Но, в принципе, работает.</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Tue, 29 Jan 2013 13:26:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68951#p68951</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68937#p68937</link>
			<description><![CDATA[<p>Попробуйте запустить этот скрипт.<br />Отдельно.<br /><strong>Функционал</strong>:<br />1) Нажимаем: ЛКМ + ПКМ&nbsp; = Срабатывать удержание СКМ ,<br />&nbsp; &nbsp; &nbsp;Повторно нажимаем ЛКМ + ПКМ&nbsp; &nbsp;=&nbsp; СКМ будет становиться отпущеной.<br />2) При одновременном нажатии ПКМ и вращении шарика (Или движение мишки Вверх / Низ) =&nbsp; прокрутка вверх-вниз.</p><br /><div class="codebox"><pre><code>SendMode, Input
SetKeyDelay, -1
SetMouseDelay, -1
Sens := &quot;3&quot;           ;================ [ Чувствительность прокрутки ] ====================
T_Sens := &quot;3&quot;        ;==================== [ Интервал прокрутки ] ========================


RButton::
MemPos_Y := MGP_Y()
If GetKeyState(&quot;LButton&quot;, &quot;P&quot;) {
    OnOff := !OnOff
    If (!OnOff) {
        Send, {MButton Up}
        return
    }
    Send, {MButton Down}
    return
}
Loop
{
    If (MemPos_Y &lt;&gt; MGP_Y()) {
        Wheel_Funk1(A_ThisHotkey, Sens, T_Sens)
        return
    }
    If !(GetKeyState(&quot;RButton&quot;, &quot;P&quot;)) {
        break
    }
    Sleep, 25
}
UpDwKeyFunk(A_ThisHotkey)
return


Wheel_Funk1(Hot_key_, Sens, T_Sens)
{
    Loop
    {
        MemPos_Y := MGP_Y()
        Sleep, % T_Sens
        If ((MemPos_Y - Sens) &gt; MGP_Y())
        {
            MouseClick, WheelUp
            Sleep, % T_Sens
        }
        If ((MemPos_Y + Sens) &lt; MGP_Y())
        {
            MouseClick, WheelDown
            Sleep, % T_Sens
        }
        Sleep, % T_Sens
        If !GetKeyState(Hot_key_, &quot;P&quot;) {
            return
        }
    }
}
UpDwKeyFunk(Hot_key)
{
    SendInput, % &quot;{&quot; Hot_key &quot; Down}&quot;
    while GetKeyState(Hot_key, &quot;P&quot;)
        Sleep, 25
    SendInput, % &quot;{&quot; Hot_key &quot; Up}&quot;
}
MGP_Y()
{
    MouseGetPos,, Var_Y
    return, Var_Y
}

ESC::
    ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (migomigo)]]></author>
			<pubDate>Tue, 29 Jan 2013 10:45:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68937#p68937</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68928#p68928</link>
			<description><![CDATA[<div class="quotebox"><cite>migomigo пишет:</cite><blockquote><p>У меня нет трекбола что бы понять что делает выложеный скрипт..<br />1)Опишите что делает этот скрипт, и при каких обстоятельствах.</p></blockquote></div><p>При одновременном нажатии ПКМ и вращении шарика (на обычной мышке - полагаю, движения мыши) прокрутка вверх-вниз.</p><div class="quotebox"><cite>migomigo пишет:</cite><blockquote><p>Такой вариант актуален?:<br /></p><div class="codebox"><pre><code>Нажимаем: ПКМ + ЛКМ  = Срабатывать удержание СКМ ,
Повторно нажимаем ПКМ + ЛКМ   =  СКМ будет становиться отпущеной.</code></pre></div></blockquote></div><p>Да.</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Mon, 28 Jan 2013 14:40:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68928#p68928</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68924#p68924</link>
			<description><![CDATA[<div class="quotebox"><cite>abax пишет:</cite><blockquote><p>Кроме того, он делает неработоспособным другой скрипт для трекбола, который я вытащил в другом месте - эмулирующий прокрутку колесиком:</p></blockquote></div><br /><br /><p>У меня нет трекбола что бы понять что делает выложеный скрипт..<br />1)Опишите что делает этот скрипт, и при каких обстоятельствах.</p><br /><div class="quotebox"><cite>abax пишет:</cite><blockquote><p>Большое спасибо, почти, но не совсем. В Файрфоксе он дает эффект нажатой средней кнопки мыши, ПОКА ОБЕ КНОПКИ НЕ ОТПУЩЕНЫ. Что, увы, делает его малополезным.</p></blockquote></div><p>Такой вариант актуален?:<br /></p><div class="codebox"><pre><code>Нажимаем: ПКМ + ЛКМ  = Срабатывать удержание СКМ ,
Повторно нажимаем ПКМ + ЛКМ   =  СКМ будет становиться отпущеной.</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (migomigo)]]></author>
			<pubDate>Mon, 28 Jan 2013 10:29:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68924#p68924</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68921#p68921</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Вот этот скрипт работает так как вы хотели?</p></blockquote></div><p>Большое спасибо, почти, но не совсем. В Файрфоксе он дает эффект нажатой средней кнопки мыши, ПОКА ОБЕ КНОПКИ НЕ ОТПУЩЕНЫ. Что, увы, делает его малополезным.</p><p>Кроме того, он делает неработоспособным другой скрипт для трекбола, который я вытащил в другом месте - эмулирующий прокрутку колесиком:</p><div class="codebox"><pre><code>
;;
;; Emulate_Scrolling_Middle_Button.ahk
;; Author: Erik Elmore &lt;erik@ironsavior.net&gt;
;; Version: 1.1 (Aug 16, 2005)
;;
;; Enables you to use any key with cursor movement
;; to emulate a scrolling middle button.  While
;; the TriggerKey is held down, you may move the
;; mouse cursor up and down to send scroll wheel
;; events.  If the cursor does not move by the
;; time the TriggerKey is released, then a middle
;; button click is generated.  I wrote this for my
;; 4-button Logitech Marble Mouse (trackball), 
;; which has no middle button or scroll wheel.
;;

;; Configuration

;#NoTrayIcon

;; Higher numbers mean less sensitivity
esmb_Threshold = 3
;; Delay 10*10ms, then put pointer back to original location
esmb_delay = 10

;; This key/Button activates scrolling
esmb_TriggerKey = RButton

;; End of configuration

#Persistent
CoordMode, Mouse, Screen
Hotkey, %esmb_TriggerKey%, esmb_TriggerKeyDown
HotKey, %esmb_TriggerKey% Up, esmb_TriggerKeyUp
esmb_KeyDown = n
return

esmb_TriggerKeyDown:
esmb_Moved = n
esmb_FirstIteration = y
esmb_KeyDown = y
MouseGetPos,, esmb_OldY
MouseGetPos, esmb_OrigX, esmb_OrigY
esmb_counter := 0
SetTimer, esmb_CheckForScrollEventAndExecute, 10
;;LButton &amp; RButton::MButton
return

esmb_TriggerKeyUp:
esmb_KeyDown = n
SetTimer, esmb_CheckForScrollEventAndExecute, Off
;; Send a middle-click if we did not scroll
if esmb_Moved = n
    MouseClick, Right
return

esmb_CheckForScrollEventAndExecute:
if esmb_KeyDown = n
    return

MouseGetPos,, esmb_NewY
esmb_Distance := esmb_NewY - esmb_OldY
if esmb_Distance
    esmb_Moved = y

;; Do not send clicks on the first iteration
if esmb_FirstIteration = y
    esmb_FirstIteration = n
else if esmb_Distance &gt; %esmb_Threshold%
{
    esmb_OldY := esmb_OldY + esmb_Threshold
    MouseClick, WheelDown
}
else if esmb_Distance &lt; -%esmb_Threshold%
{
    esmb_OldY := esmb_OldY - esmb_Threshold
    MouseClick, WheelUp
}
else
{
    esmb_counter := esmb_counter + 1
    if( esmb_counter &gt; esmb_delay)
    {
        esmb_counter := 0
        MouseMove,esmb_OrigX,esmb_OrigY
        MouseGetPos,, esmb_OldY
    }
}
return </code></pre></div><p>В любом случае, признателен Вам за помощь.</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Sun, 27 Jan 2013 18:57:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68921#p68921</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68919#p68919</link>
			<description><![CDATA[<div class="quotebox"><cite>abax пишет:</cite><blockquote><p>С верным синтаксисом оно все равно не работает</p></blockquote></div><p>Уже лучше, но где ты нашёл такой синтаксис:<br /></p><div class="codebox"><pre><code>~LButton &amp; RButton::Send, MouseClick,Middle ;</code></pre></div><p><em>MouseClick</em> — это отдельная команда, в качестве параметра <em>Send</em> она не катит.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Jan 2013 18:48:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68919#p68919</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68917#p68917</link>
			<description><![CDATA[<div class="quotebox"><cite>abax пишет:</cite><blockquote><p>Помогите, пожалуйста - я мало понимаю в программировании AHK, решаю чисто практическую проблему. Купил трекбол, у него нет средней кнопки. Хотел назначить, чтобы одновременное нажатие левой и правой эмулировало среднюю.</p></blockquote></div><p>Вот этот скрипт работает так как вы хотели? <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><div class="codebox"><pre><code>LButton::
If GetKeyState(&quot;RButton&quot;, &quot;P&quot;) {
    Send, {MButton}
    return
}
If GetKeyState(A_ThisHotkey, &quot;P&quot;) {
    SendInput, % &quot;{&quot; A_ThisHotkey &quot; Down}&quot;
    Loop {
    if !GetKeyState(A_ThisHotkey, &quot;P&quot;)
        break
    }
SendInput, % &quot;{&quot; A_ThisHotkey &quot; Up}&quot;
}
return


RButton::
If GetKeyState(&quot;LButton&quot;, &quot;P&quot;) {
    Send, {MButton}
    return
}
If GetKeyState(A_ThisHotkey, &quot;P&quot;) {
    SendInput, % &quot;{&quot; A_ThisHotkey &quot; Down}&quot;
    Loop {
    if !GetKeyState(A_ThisHotkey, &quot;P&quot;)
        break
    }
SendInput, % &quot;{&quot; A_ThisHotkey &quot; Up}&quot;
}
return


ESC::
    ExitApp</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (migomigo)]]></author>
			<pubDate>Sun, 27 Jan 2013 17:04:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68917#p68917</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68916#p68916</link>
			<description><![CDATA[<p>С верным синтаксисом оно все равно не работает:</p><div class="codebox"><pre><code>~LButton &amp; RButton::Send, MouseClick,Middle ;</code></pre></div><p>запускается, но эффекта никакого</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Sun, 27 Jan 2013 13:46:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68916#p68916</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68913#p68913</link>
			<description><![CDATA[<p>Синтаксис неверный, в <a href="http://script-coding.com/AutoHotkey/Hotkeys.html">справке</a> есть примеры.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Jan 2013 10:24:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68913#p68913</guid>
		</item>
		<item>
			<title><![CDATA[AHK: как назначить для LButton & RButton среднюю кнопку мыши]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=68910#p68910</link>
			<description><![CDATA[<p>Помогите, пожалуйста - я мало понимаю в программировании AHK, решаю чисто практическую проблему. Купил трекбол, у него нет средней кнопки. Хотел назначить, чтобы одновременное нажатие левой и правой эмулировало среднюю.</p><p>1) Как это сделать?<br />2) Почему простой код <br /></p><div class="codebox"><pre><code>
~ LButton &amp; RButton :: MButton ;</code></pre></div><p>или<br /></p><div class="codebox"><pre><code> 
~ LButton &amp; RButton :: Send, MouseClick,Middle ; </code></pre></div><p>работать не желает, говорит Invalid hotkey?</p>]]></description>
			<author><![CDATA[null@example.com (abax)]]></author>
			<pubDate>Sun, 27 Jan 2013 09:08:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=68910#p68910</guid>
		</item>
	</channel>
</rss>
