<?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="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8382&amp;type=atom" />
	<updated>2014-01-08T17:12:10Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=8382</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79019#p79019" />
			<content type="html"><![CDATA[<p>Перенёс.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-01-08T17:12:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79019#p79019</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79018#p79018" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Mikki пишет:</cite><blockquote><p>А почему бы не перенести тему в AHK раздел?..Вроде по смыслу должно быть там.</p></blockquote></div><p>Пожалуй, всё-таки, можно, поскольку других решений пока не предвижу и в ближайшем собираюсь поговорить именно о решении при помощи AHK (но, по-прежнему, буду совсем не против предложений других путей).</p><br /><p>Скрипт переделал опять. В первую очередь я пришёл к более последовательному подходу: клавиши со стрелками должны восприниматься как длинные или короткие только в зависимоcти от того, нажат или нет среди модификаторов правый Ctrl. (Таким образом, основная задача, как мне кажется, такая же как и в теме «<a href="http://forum.script-coding.com/viewtopic.php?id=8629">AHK: Проблемы с отключением Shift</a>», только вместо Shift — RCtrl.)</p><p>Используемый в настоящее время код:<br /></p><div class="codebox"><pre><code>; Сценарий AutoHotkey
; Разделение/переназначение совмещённых клавиш управления курсором для нетбука
; Позволяет использовать клавиши Left, Right, Up, Down с модификатором Shift,
;                      а клавиши Home, End, PgUp, PgDn - без него.

; Включение &quot;длинных&quot; клавиш - RCtrl.
; Последнее изменение: 12.09.2013
; [wisgest]

#NoEnv
#KeyHistory 0
ListLines Off
    Menu Tray, Icon, C:\WINDOWS\Cursors\move_rm.cur
SetBatchLines -1

SendMode Input

; RCtrl - &quot;длинные&quot; клавиши (LCtrl+RCtrl - &quot;длинные&quot; клавиши с Ctrl):

*&gt;^Left::RCtrlOff(&quot;Home&quot;)
*&gt;^Right::RCtrlOff(&quot;End&quot;)
*&gt;^Up::RCtrlOff(&quot;PgUp&quot;)
*&gt;^Down::RCtrlOff(&quot;PgDn&quot;)

*&gt;^+Home::RCtrlOff(&quot;Home&quot;)
*&gt;^+End::RCtrlOff(&quot;End&quot;)
*&gt;^+PgUp::RCtrlOff(&quot;PgUp&quot;)
*&gt;^+PgDn::RCtrlOff(&quot;PgDn&quot;)

RCtrlOff(key) {
    Send {Blind}{RCtrl Up}{%key%}{RCtrl Down}
    if (!GetKeyState(&quot;RCtrl&quot;, &quot;P&quot;))
        Send {RCtrl Up}
}


; Shift - Shift+&quot;короткие&quot; клавиши:

+Home::Left
+End::Right
+PgUp::Up
+PgDn::Down
</code></pre></div><p>При его написании у меня возникали вопросы, но их ещё надо постараться сформулировать (надеюсь, соберусь с силами, тем более, что задача, на мой взгляд, является образцовой для базового AHK), поэтому пока выкладываю так, но буду рад замечаниям, предложениям по улучшению или встречным вопросам.</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2014-01-08T16:56:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79018#p79018</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72937#p72937" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Mikki пишет:</cite><blockquote><p>А почему бы не перенести тему в AHK раздел?..Вроде по смыслу должно быть там.</p></blockquote></div><p>Потому, что интересуют решения не только при помощи AHK.<br />В крайнем случае, можно было бы перенести в раздел &quot;Прочие скриптовые технологии&quot; с префиксом ANY/AHK, но и это не совсем то, т.к.&nbsp; решение, скорее всего не скриптовое.</p><p>До того, как у меня появился б/у нетбук, я об этом вопросе как-то не думал, но уже после моего последнего&nbsp; сообщения в этой теме у нетбуков (2 шт.), которые мне попались на глаза было такое же расположение клавиш, но переключение производилось с помощью клавиши Fn, что, впрочем, сразу было видно, т.к. соответствующие надписи на кнопках сделаны тем же цветом (голубым), что и на Fn. У меня же клавиши PgUp, PgDn в сочетании с Fn должны управлять громкостью, что видно по снимку, ссылку на который я приводил ранее.</p><p>На данный момент, мне представлеются два решения: при помощи программы позволяющей перепрограммировать Fn<br />или замена драйвера клавиатуры, т.к. сейчас стоит &quot;Стандартная <strong>101/102 клавиши</strong> или клавиатура PS/2 Microsoft Natural&quot; (файлы C:\WINDOWS\system32\DRIVERS\i8042prt.sys и C:\WINDOWS\system32\DRIVERS\kbdclass.sys).<br />Может быть дадите совет в этих направлениях? (Любые другие тоже приветствуются.)<br />(Ну, а так пока можно жить с приведённым решением на AHK.)</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-06-13T08:56:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72937#p72937</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72935#p72935" />
			<content type="html"><![CDATA[<p>А почему бы не перенести тему в AHK раздел?..Вроде по смыслу должно быть там.</p>]]></content>
			<author>
				<name><![CDATA[Mikki]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5905</uri>
			</author>
			<updated>2013-06-13T08:23:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72935#p72935</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72892#p72892" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Если клавиша определяется, её нажатия должны быть видны в KeyHistory в окне скрипта (открывается через иконку).</p></blockquote></div><p>К сожалению, не видна.<br />__________</p><p>Хотел, ради интереса попробовать ещё вариант переключения - скорее, менее удобный, но теоретически более правильный: левый Shift - короткие клавиши с Shift&#039;ом, правый - длинные клавиши, оба Shift&#039;а - длинные с Shift&#039;ом. Но End ни в какую не захотела работать с двумя Shift&#039;ами - как оказалось, она в таком случае просто не определяется...</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-06-10T16:03:04Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72892#p72892</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72862#p72862" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Ещё вопрос по AHK: хотелось бы для переключения использовать клавишу Fn, возможно ли определять её нажатие?</p></blockquote></div><p>Если клавиша определяется, её нажатия должны быть видны в KeyHistory в окне скрипта (открывается через иконку).</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2013-06-10T03:25:38Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72862#p72862</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72861#p72861" />
			<content type="html"><![CDATA[<p>Нашёл <a href="http://article.tech-labs.ru/img/article/9069/ViewSonic_VNB_106D_keyboard_1.jpg">изображение</a> такой клавиатуры.<br />Вопросы остаются в силе: </p><div class="quotebox"><blockquote><p>Кто-либо сталкивался с подобным затруднением и его решениями?<br />Существует ли, всё-таки, встроенное решение?<br />Любые другие?</p></blockquote></div><div class="quotebox"><blockquote><p>Ещё вопрос по AHK: хотелось бы для переключения использовать клавишу Fn, возможно ли определять её нажатие?</p></blockquote></div><p>__________</p><p><strong>teadrinker</strong>, спасибо, но не сработало, возможно, потому что сам модификатор Alt не отбрасывается?</p><p>Впрочем, скрипт я переписал уже дважды:<br />первый раз, заметив, что не предусмотрено нажатие &quot;длинных&quot; клавиш с единственным модификатором Alt (например, Alt+Home - открытие домашней страницы веб-обозревателя), добавил ещё 4 строчки,<br />а затем, поняв, что использование Alt связано с некоторыми неудобствами (закрываются выпадающие списки; если нажать Alt и передумать жать клавишу со стрелкой - останешься в меню приложения...) переложил на RCtrl переключение на длинные клавиши (и оставил на RShift):<br /></p><div class="codebox"><pre><code>; Сценарий AutoHotkey
; Разделение/переназначение совмещённых клавиш управления курсором для нетбука
; Позволяет использовать клавиши Left, Right, Up, Down с модификатором Shift,
;                      а клавиши Home, End, PgUp, PgDn - без него.
; (в разработке - возможны изменения!)

SendMode Input

; RCtrl - &quot;длинные&quot; клавиши (RCtrl+LCtrl - Ctrl+&quot;длинные&quot; клавиши):
*&gt;^Left::Send {Blind}{RCtrl Up}{Home}{RCtrl Down}
*&gt;^Right::Send {Blind}{RCtrl Up}{End}{RCtrl Down}
*&gt;^Up::Send {Blind}{RCtrl Up}{PgUp}{RCtrl Down}
*&gt;^Down::Send {Blind}{RCtrl Up}{PgDn}{RCtrl Down}

; LShift - Shift+&quot;короткие&quot; клавиши
&lt;+Home::Left
&lt;+End::Right
&lt;+PgUp::Up
&lt;+PgDn::Down
</code></pre></div><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;Сочетанния с модификаторами на примере клавиши Left/Home (слева - ответ, справа решение):</div><div class="fancy_spoiler"><p>Left - без модификаторов,<br />Home = RCtrl+клавиша,<br />Ctrl+Left = LCtrl+клавиша,<br />Ctrl+Home = LCtrl+RCtrl+клавиша,<br />Shift+Left = LSift+клавиша,<br />Shift+Home = RShift+клавиша,<br />Ctrl+Shift+Left = LShift+(L/R)Ctrl+клавиша,<br />Ctrl+Shift+Home = RShift+(L/R)Ctrl+клавиша;<br />в любое сочетание может входить любой Alt, например,<br />Alt+Home = (R/L)Alt+RCtrl+клавиша...</p></div></div><p>Есть ли замечания или советы по скрипту и выбору клавиш?</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-06-09T18:33:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72861#p72861</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72858#p72858" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Также вопрос по AHK: можно ли было написать кусок ... используя лишь переназначение клавиш без Send (у меня не получилось)?</p></blockquote></div><div class="codebox"><pre><code>#if GetKeyState(&quot;RAlt&quot;, &quot;P&quot;)
Left::Home
Right::End
Up::PgUp
Down::PgDn</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-06-09T16:14:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72858#p72858</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Клавиши со стрелками на нетбуке]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=72851#p72851" />
			<content type="html"><![CDATA[<p>Столкнулся с тем, что в нетбуке клавиши Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn, причём, вторые задействуются только с модификатором Shift (при этом можно использовать дополнительно Ctrl), а первые - только без него, т.е. нельзя, например, выделить с клавиатуры один символ влево или вправо и, наоборот, нельзя без сопутствующего выделения переместится в начало или конец строки или листать текст.<br />В Internet нашёл, что для переключения на Home, End, PgUp, PgDn можно использовать Fn+NumLk, но это не сработало, да, если бы и работало, то было бы неудобно. Пока в качестве решения написал простейший AHK-сценарий:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>; Сценарий AutoHotkey
; Разделение/переназначение совмещённых клавиш управления курсором для нетбука
; Позволяет использовать клавиши Left, Right, Up, Down с модификатором Shift,
;                      а клавиши Home, End, PgUp, PgDn - без него.
; (в разработке - возможны изменения!)

; Правый Alt - &quot;длинные&quot; клавиши (только без модификаторов):
&gt;!Left::SendInput {Home}
&gt;!Right::SendInput {End}
&gt;!Up::SendInput {PgUp}
&gt;!Down::SendInput {PgDn}

; Левый Shift - задействуются &quot;короткие&quot; клавиши:
&lt;+Home::Left
&lt;+End::Right
&lt;+PgUp::Up
&lt;+PgDn::Down

; Правый Ctrl - задействуются &quot;длинные&quot; клавиши:
&gt;^Left::Home
&gt;^Right::End
&gt;^Up::PgUp
&gt;^Down::PgDn
</code></pre></div><p>Примеры:<br />Left/Home -- Left (без изменения),<br />RAlt+Left/Home -- Home (возможно, было бы удобнее LAlt, но, поскольку, остальные переключатели на длинные клавиши справа, пока сделал так),<br />LSift+Left/Home -- Shift+Left,<br />RShift+Left/Home -- Shift+Home (без изменения),<br />LShift+(R/L)Ctrl+Left/Home -- Shift+Ctrl+Left,<br />LCtrl+Left/Home -- Ctrl+Left (без изменения),<br />RCtrl+Left/Home -- Ctrl+Home,<br />RShift+(R/L)Ctrl+Left/Home -- Shift+Ctrl+Home (без изменения).</p></div></div><p>Кто-либо сталкивался с подобным затруднением и его решениями?<br />Существует ли, всё-таки, встроенное решение?<br />Любые другие?</p><p>Также вопрос по AHK: можно ли было написать кусок </p><div class="codebox"><pre><code>&gt;!Left::SendInput {Home}
&gt;!Right::SendInput {End}
&gt;!Up::SendInput {PgUp}
&gt;!Down::SendInput {PgDn}</code></pre></div><p> используя лишь переназначение клавиш без <em>Send</em> (у меня не получилось)?<br />Ещё вопрос по AHK: хотелось бы для переключения использовать клавишу Fn, возможно ли определять её нажатие?</p>]]></content>
			<author>
				<name><![CDATA[wisgest]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=3850</uri>
			</author>
			<updated>2013-06-09T00:56:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=72851#p72851</id>
		</entry>
</feed>
