1 (изменено: UrfinJus, 2013-08-28 03:23:23)

Тема: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Для сочетания 2 клавиш используется знак &.
Например нажатие 1+2 дает нажатие пробела:


vk31 & vk32::
Send Space
return

Существует ли возможность использовать более 2 клавиш для создания горячей?
Например, чтобы можно было нажимать пробел при сочетании 1+2+3+4+5?

2

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Наверно как-то можно такое устроить, только нафига это нужно? Существует восемь стандартных модификаторов, которые принято использовать в качестве префиксов, и более сотни остальных клавиш. Неужели все комбинации уже использованы?

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

3 (изменено: UrfinJus, 2013-08-28 16:43:29)

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Дело не во всех комбинациях, а в удобстве.

4

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Удерживать шесть клавиш одновременно — в чём тут удобство?

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

5

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

В том, что не нужно отрывать руку от определенного места на клавиатуре.
В количестве используемых кнопок. В уменьшении размеров клавиатуры.
Можно набирать слова и предложения сочетаниями клавиш.
Можно запускать скрипт с разными вариациями, просто сочетая разные кнопки при нажатии, указывая таким образом какой из вариантов запускать.
Можно использовать мышку с 10-15 клавишами вместо клавиатуры, за счет множества комбинаций.
Это расширение возможностей. И вообще иной взгляд на сами устройства ввода.

Если нет идей - не надо ответов в духе "нафига это нужно", "в чем тут удобство".
У каждого свое мнение по поводу нужности той или иной вещи. Можно спорить очень долго.
Это же форум по программированию скриптов, а не по советам как жить?
Тебе это кажется не удобным. А кому-нибудь покажется удобным.
Мне понятно твое "нафига". И так все работает, зачем что-то менять? Верно?

6

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

С 4 можно:


~1::
~2::
~3::
~4:: 
    If (GetKeyState(1) && GetKeyState(2) && GetKeyState(3) && GetKeyState(4))
        MsgBox 
    Return

более... надо покурить, если оно...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7 (изменено: serzh82saratov, 2013-08-28 18:59:30)

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

...такое в принципе нужно, каким оно может стать в условиях дикой природы.

teadrinker
В общем не ясно почему GetKeyState не знает более 4 кнопок. Видимо незадокументированное ограничение.
На уме конечно есть клавиатурный хук, и сохранение в переменные статусов кнопок. Либо тоже самое через хоткеи, и очистку переменных через хоткеи типа "%Key% UP".
Но пока есть надежда найти более "нормальные" решения.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

UrfinJus пишет:

Если нет идей - не надо ответов в духе "нафига это нужно", "в чем тут удобство".

Без обид, но есть идеи пустопорожние изначально. Ну например, откуда компьютер должен узнать, когда ты нажимаешь 1, — ты хочешь напечатать единицу, или использовать эту клавишу, как модификатор? Поэтому я и сказал, что лучше использовать стандартные модификаторы.

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

9

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

serzh82saratov пишет:

Но пока есть надежда найти более "нормальные" решения.

Например, модификатор + Input.

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

10

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

откуда компьютер должен узнать, когда ты нажимаешь 1, — ты хочешь напечатать единицу, или использовать эту клавишу, как модификатор?

каким оно может стать в условиях дикой природы.

Хозяин барин. Он ведь 5 пост писал, и 1 тоже. Пущай сначала получит что хотел. А потом уже его...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Например, модификатор + Input.

Модификаторы нынче не в моде

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Больше 4-х вроде бы клавиатура не берёт одновременно. Смутно уже помню. Есть там ограничения в связи с тем, что провода не идут к каждой клавише отдельной парой, а расположены как столбцы и строки. Т.е. каждый провод является общим для нескольких клавиш.

13

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

YMP
Вот и у меня были аппаратные сомнения.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Но пока есть надежда найти более "нормальные" решения.

Значит тут нормально нельзя.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

teadrinker пишет:

Без обид, но есть идеи пустопорожние изначально. Ну например, откуда компьютер должен узнать, когда ты нажимаешь 1, — ты хочешь напечатать единицу, или использовать эту клавишу, как модификатор? Поэтому я и сказал, что лучше использовать стандартные модификаторы.

А идея в том, чтобы все клавиши превратить в модификаторы. И 1 будет нажиматься при нажатии например 1+End.

serzh82saratov пишет:

С 4 можно:


~1::
~2::
~3::
~4:: 
    If (GetKeyState(1) && GetKeyState(2) && GetKeyState(3) && GetKeyState(4))
        MsgBox 
    Return

более... надо покурить, если оно...

Без этого знака ~ очень похоже.
Работает и с большим количеством кнопок. Проверял на 10 одновременных нажатиях. Зависит от клавиатуры. На одной у меня 4 максимум - на другой 10 и возможно больше.
Только получается, что нет модификаторов, просто идет сравнение - сколько кнопок из списка нажато.
Я же хотел, чтобы можно было использовать клавишу как модификатр модификатора:
Чтобы 1+2+3 и 3+2+1 давали разные результаты.
Например при использовании 1 & 2 - первая клавиша становится префиксной. А при 2 & 1 - вторая.
(1 & 2) и (2 & 1) дают разные сочетания, на них можно записать разные действия.
Я же ищу что-то вроде:
1 & 2 & 3
1 & 3 & 2
2 & 1 & 3
2 & 3 & 1
3 & 1 & 2
3 & 2 & 1
Чтобы горячая клавиша, состоящая из 2 превращалась в префиксную для третьей и образовывала горячую клавишу из 3 кнопок, тоже превращаясь в префиксную при надобности. И т.д.

16

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

UrfinJus пишет:

Я же хотел, чтобы можно было использовать клавишу как модификатр модификатора:
Чтобы 1+2+3 и 3+2+1 давали разные результаты.

Не претендуя на роль "самого..."
Всем отличникам музыкальной школы по классу "аккордеон" посвящается

Combo := "p_", ComboKeys := ["1", "2", "3", "4"]
For K,V in ComboKeys
   Hotkey, %V%, ComboProc
Return

ComboProc:
   Combo .= A_ThisHotkey
   if IsLabel(Combo)
      Gosub % Combo
   KeyWait, %A_ThisHotkey%
   Combo = p_
Return

p_1234:
   MsgBox 1&2&3&4
Return

p_1324:
   MsgBox 1&3&2&4
Return

p_3214:
   MsgBox 3&2&1&4
Return

С нетерпением ожидаем новый интригующий поворот в творческих замыслах ТС

17

Re: AHK: Возможны ли горячие клавиши состоящие из более 2 кнопок?

Во! Пасиб! То, что надо!
Я не всё объяснил сразу, прошу прощения!
Всем спасибо за терпение)

Все работает! Круть! Уряяяяя!
teadrinker, serzh82saratov и Irbis спасиб за примеры)
Irbis - Гениально! Замечательно! Великолепно!