<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Действия при двойном нажатии Ctrl, и не только.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18134&amp;type=atom" />
	<updated>2024-03-15T14:36:34Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=18134</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Действия при двойном нажатии Ctrl, и не только.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160549#p160549" />
			<content type="html"><![CDATA[<p>Язык лучше так переключать:<br /></p><div class="codebox"><pre><code>~LControl Up::
    WM_INPUTLANGCHANGEREQUEST := 0x50, INPUTLANGCHANGE_FORWARD := 0x2
    KeyWait, LControl, D T.3
    if !ErrorLevel {
        ControlGetFocus, CtrlFocus, A
        PostMessage, WM_INPUTLANGCHANGEREQUEST, INPUTLANGCHANGE_FORWARD,, %CtrlFocus%, A
    }
Return</code></pre></div><p>Win+H по тому же принципу.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2024-03-15T14:36:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160549#p160549</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Действия при двойном нажатии Ctrl, и не только.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=160548#p160548" />
			<content type="html"><![CDATA[<p>Здравствуйте, являюсь владельцем Macbook за которым часто провожу время. При переходе на Windows, меня мучает переключение языка, сочетанием клавиш. Alt+Shift. (Punto Switcher не предлагать)</p><p>В макбуке есть отдельная кнопка для этого, при нажатии на которую, переключается язык.</p><p>Подскажите, пожалуйста, скрипт. Чтобы при двойном нажатии на Ctrl. Левый. Нажималось сочетание клавиш Alt+Shift. (Левые)</p><p>Также в макбуке. Есть кнопка для голосового ввода текста. Возможно ли сделать, чтобы при двойном нажатии на Shift, нажималось сочетание клавиш. Win+H</p><p>Спасибо.</p><p>P.S. Я пробовал что-то подобное, но срабатывает очень быстро и опять же при зажатии кнопки он щелкает языки. Не возможно скопировать что-то и вставить.</p><div class="codebox"><pre><code>#SingleInstance, Force
#NoEnv

LControl::
While GetKeyState(&quot;LControl&quot;, &quot;P&quot;) &amp;&amp; GetKeyState(&quot;LControl&quot;, &quot;P&quot;)
{
  SendInput, {Alt down}{Shift down}{Alt up}{Shift up}
  Sleep, 100
}

Return
</code></pre></div><p>С Shift работает, но очень быстро. И при зажатии Shift также срабатывает комбинация. Это не позволяет поставить, например, запятую или написать с большой буквы.</p><div class="codebox"><pre><code>#Persistent
SetTimer, CheckShiftPress, 100
Return

CheckShiftPress:
If GetKeyState(&quot;LShift&quot;, &quot;P&quot;) { ; Проверяем, нажата ли левая Shift
    If !shiftPressed { ; Если это первое нажатие
        shiftPressed := true ; Устанавливаем флаг, что Shift был нажат
        SetTimer, ResetShiftPressed, -500 ; Устанавливаем таймер для сброса флага через 500 миллисекунд
    } else { ; Если это второе нажатие
        Send, #h ; Отправляем комбинацию клавиш Win+H для переключения языка
        shiftPressed := false ; Сбрасываем флаг, чтобы предотвратить повторное нажатие
    }
}
Return

ResetShiftPressed:
shiftPressed := false ; Сбрасываем флаг, если прошло более 500 миллисекунд с момента первого нажатия
Return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[size222]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27237</uri>
			</author>
			<updated>2024-03-14T22:41:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=160548#p160548</id>
		</entry>
</feed>
