1 (изменено: ypppu, 2019-08-19 00:55:52)

Тема: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

Перенесено из темы AHK: Клавиши со стрелками на нетбуке


У меня аналогичная проблема (поэтому не стал создавать отдельной темы): в нетбуке клавиши Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn, причём, вторые задействуются только с модификатором Fn. Что в ряде случаев неудобно.
К примеру в некоторых программах есть "горячие клавиши", использующие Home, End, PgUp, PgDn (к примеру ALT+SHIFT+PgDn).
И они на моём нетбуке из 3-х кнопочных превращаются в 4-х кнопочные.
Что крайне неудобно.
Можно ли сделать так, чтобы "длинное" нажатие "<-" воспринималось как "Home", "длинное" нажатие "->" воспринималось как "End" и т.д.

А?

2

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

wisgest пишет:

Лучше не смешивать.

Хорошо.
Скажу по другому: у меня проблема один-в-один как у Вас.
Т.е. точно такая же

3 (изменено: teadrinker, 2019-08-17 17:19:13)

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

Попробуйте такое:

for k, v in {Left: "Home", Right: "End", Up: "PGUP", Down: "PGDN"} {
   handler := Func("SetHotkey").Bind(k, v)
   Hotkey, % "~*" . k, % handler, On
}

SetHotkey(key1, key2) {
   KeyWait, % key1, T.5
   if ErrorLevel
      SendInput, {Blind}{%key2%}
}

Или такое:

for k, v in {Left: "Home", Right: "End", Up: "PGUP", Down: "PGDN"} {
   handler := Func("SetHotkey").Bind(k, v)
   Hotkey, % "$*" . k, % handler, On
}

SetHotkey(key1, key2) {
   SendInput, {Blind}{%key1% Down}
   KeyWait, % key1, T.5
   if ErrorLevel {
      SendInput, {Blind}{%key2%}
      KeyWait, % key1
   }
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

BSN201904 пишет:
wisgest пишет:

Лучше не смешивать.

Хорошо.
Скажу по другому: у меня проблема один-в-один как у Вас.
Т.е. точно такая же

Нет. Переключение с помощью Fn — стандартное поведение. У меня переключение происходит клавишами Shift и при этом их собственное действие не отменяется, т.е. Left и Shift-Home доступны, а Shift-Left и Home — нет. Это совсем другая проблема. (Даже, если бы я захотел сделать переключение по долгому нажатию, пришлось бы дополнительно учитывать влияние Shift.) Поэтому лучше не смешивать разнородные вопросы и перенести в отдельную тему.

5 (изменено: BSN201904, 2019-08-17 18:24:09)

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

wisgest
Но путь решения проблемы у нас один:
Научить систему различать "длинные" и "короткие" нажатия клавиш.

Чтобы короткое нажатие воспринималось как "стрелка влево", а длинное - как "Home".

И потом. Из-за какого-то глюка форума я не могу создавать темы

6

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

BSN201904, у Вас есть кнопка Начать тему?

7

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

ypppu пишет:

BSN201904, у Вас есть кнопка Начать тему?

нет

8

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

wisgest пишет:

А как быть с прокрутТкой при зажатой клавише? Я не хочу её лишаться.

Всё просто.
Если кнопка удерживалась менее 0,1 сек - это "стрелка вниз"
Если более 0,1 сек но менее 0.5 - это "PgDn"
Если более 0,5 сек - это прокрутка (автоповтор "стрелки вниз")

9

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

BSN201904, а что у Вас на этом месте?
http://forum.script-coding.com/misc.php?action=pun_attachment&amp;item=1819

Post's attachments

nts.png 85.79 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

10

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

ypppu пишет:

BSN201904, а что у Вас на этом месте?

Упс. Теперь появилась возможность создавать тему.
Спасибо что починили.
Это баг скрипта форума?

11

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

BSN201904, ничего и не ломалось.

12

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

A_TimeSinceThisHotkey. Количество миллисекунд, прошедших с момента нажатия кнопки.

Left::
KeyWait, Left
If A_TimeSinceThisHotkey >= 500
Send {Home} 
else
Send {Left}
Return

13

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

EV пишет:

A_TimeSinceThisHotkey. Количество миллисекунд, прошедших с момента нажатия кнопки.

Спасибо большое за помощь. Попробую.
Кажется это то, что надо

14

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

BSN201904, а что, мой код не работает?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

15

Re: AHK:В ноутбуке Left, Right, Up, Down совмещены с Home, End, PgUp, PgDn

teadrinker пишет:

BSN201904, а что, мой код не работает?

Ваш код сложней, я не понял что он делает и как.
Потому не пробовал его