<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Скрипт  —  типографские и другие спецсимволы]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11944&amp;type=atom" />
	<updated>2016-08-25T13:46:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11944</id>
		<entry>
			<title type="html"><![CDATA[AHK: Скрипт  —  типографские и другие спецсимволы]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107045#p107045" />
			<content type="html"><![CDATA[<p>Немного разобрался и написал скрипт, который помогает вводить разные символы, которых нет на клавиатуре<br /></p><div class="codebox"><pre><code>
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.


; при печати ( сразу печатается ) курсор переводится внутрь скобок
; если после этого напечатать r
; или с и нажать &quot;вправо&quot;, то произойдет замена симолов вместе со
; скобками на ® и © соответственно
:*:(:: 
SendInput (){left}
Input, Text, L2 V, {right}
if (Text = &quot;r&quot;)
  SendInput {backspace 3}®
if (Text = &quot;c&quot;)
  SendInput {backspace 3}©
return


:*:[:: 
SendInput []{left}
return


:*:{:: 
SendInput {{}{}}{left}
return


:*:&quot;:: 
SendInput &quot;&quot;{left}
return


:*:&#039;:: 
SendInput &#039;&#039;{left}
return

; если напечатать сразу 2, то заменяется на &quot;елочки&quot;, но есть проблемы при переключении раскладок
:*:&lt;:: 
Text := (double := !double)? &quot;&lt;&gt;{left}{}&quot; : &quot;{right}{backspace 2}«»{left}&quot; 
SendInput %Text%
return

; длинное тире, работает отлично
:*:---::
SendInput {Space}—{Space}
return

; ™ товарный знак
; вариант, не работает префиксная клавиша Т
;T &amp; M::
;SendInput ™
;return

; и еще вариант, тут в русской раскладке все равно печатается &quot;m&quot;
m::
if GetKeyState(&quot;t&quot;) 
  SendInput {backspace}™
else 
{
  Hotkey, %A_ThisHotkey%, Off
  SendInput %A_ThisHotkey%
  Hotkey, %A_ThisHotkey%, On
}
return
</code></pre></div><p>В комментариях написано, какие проблемы у конкретных участков. Общая проблема&nbsp; —&nbsp; при смене раскладки иногда не срабатывает, а {} в русской раскладке печатают сразу ХЪ, пока не разобрался как с этим справится, читал английский форум, но там раскладка одна и проблем таких нет.<br />Дополнительно хотелось бы чтобы выделенный кусок текста помещался при нажатии в скобки, кавычки и т.д. в зависимости от типа знаков.</p>]]></content>
			<author>
				<name><![CDATA[upsi_daezium]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34120</uri>
			</author>
			<updated>2016-08-25T13:46:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107045#p107045</id>
		</entry>
</feed>
