1 (изменено: InProject, 2023-12-01 15:33:43)

Тема: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

Всем Привет! Я новичок в скриптах. Нужна помощь..

У меня есть многокнопочная мышь аж на 18 кнопок, для работы.
Хочу сделать так, что бы одна и та же кнопка мыши имела свои сочетания клавиш в разных программах. Так как кнопок на мышке много, планирую назначить на них через утилиту, которая шла вместе с мышкой, редкие сочетания клавиш, например Alt+Ctr+Shift+F1..2..3..и т.д., что бы они случайно не пересекались с какими-нибудь программными сочетаниями.

Нужно, чтобы первая кнопка мышки в Blender отрабатывала как "Пробел", в Sketchup как "Alt+e", а во всех остальных случаях как "Enter".

Написал такой


#IfWinActive, ahk_exe blender.exe
!^+F1::
SendInput, {Space}
return
#IfWinActive

#IfWinActive, ahk_exe SketchUp.exe
!^+F1::
SendInput, !e
return
#IfWinActive

Вопросы:
1. Не знаю как привязать "Enter" на все остальные случаи.
2. В Blender на Space привязано pie menu, работает это так... Зажимаешь пробел - появляется круговое меню - наводишь мышкой на нужную команду (не нажимаешь) - отпускаешь пробел - команда срабатывает. Но по моему скрипту так не происходит. Круговое меню появляется, но отжатие пробела не срабатывает, можно только кликнуть по команде. Подскажите, как эмулировать нажатие/отжатие клавиши?
3. Все остальные кнопки мыши можно запрограммировать в одном скрипте, или нужно создавать для каждой кнопки отдельный?

hlp pls..

P.S. Может я мыслю совсем как новичок и такой алгоритм нужно организовывать по другому? Буду очень благодарен за развернутые ответы.

2

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

Теоретически так:

#IfWinActive, ahk_exe blender.exe
!^+F1::
	SendInput, {Space Down}
	KeyWait, F1
	SendInput, {Space Up} 
	return  
InProject пишет:

3. Все остальные кнопки мыши можно запрограммировать в одном скрипте, или нужно создавать для каждой кнопки отдельный?

В одном.

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

3

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

InProject пишет:

Хочу сделать так, что бы одна и та же кнопка мыши имела свои сочетания клавиш в разных программах. Так как кнопок на мышке много, планирую назначить на них через утилиту, которая шла вместе с мышкой, редкие сочетания клавиш, например Alt+Ctr+Shift+F1..2..3..и т.д., что бы они случайно не пересекались с какими-нибудь программными сочетаниями.

Зависит от утилиты, но лучше назначить одиночные кнопки, это могут быть виртуальные коды несуществующих клавиш, на них ахк реагирует. С посылом Alt+Ctr+Shift бывают непонятки.

InProject пишет:

Нужно, чтобы первая кнопка мышки в Blender отрабатывала как "Пробел", в Sketchup как "Alt+e", а во всех остальных случаях как "Enter".

Не проще ентер в утилите прописать? Или так:

#IfWinActive, ahk_exe blender.exe
!^+F1::
	SendInput, {Space Down}
	KeyWait, F1
	SendInput, {Space Up} 
	return   

#IfWinActive, ahk_exe SketchUp.exe
!^+F1::
	SendInput, !e
	return
	
#IfWinActive

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

4 (изменено: InProject, 2023-12-01 17:08:54)

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

serzh82saratov, сколько всего интересного! Спасибо. К сожалению KeyWait, F1 не срабатывает тоже. Пробовал даже на одну клавишу кнопку переназначать, все равно не работает. Еще гугл не знает про виртуальные коды именно несуществующих клавиш. Не поделитесь ссылкой где почитать? А вот #IfWinActive !^+F1::Enter работает. Только и правда лучше наверно  назначить через утилиту от мыши. Спасибо за опыт.

Дополню сообщение. KeyWait, F1 заработало, я немного не корректно сначала код записал. Так-что все работает! Спасибо большое, за советы!

5

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

InProject, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на оформление кода.

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

6 (изменено: InProject, 2023-12-01 15:38:23)

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

teadrinker, готово. Не сразу разобрался. Буду знать.

7

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

InProject пишет:

Спасибо за опыт.

Можно и в репу продублировать.

InProject пишет:

Еще гугл не знает про виртуальные коды именно несуществующих клавиш. Не поделитесь ссылкой где почитать?

Ссылку не найду, вот вк коды.

		Undefined := "07|0E|0F|16|1A|3A|3B|3C|3D|3E|3F|40"
		Reserved := "0A|0B|5E|B8|B9|C3|C4|C5|C6|C7|C8|C9|CA|CB|CC|CD|CE|CF|D0|D1|D2|D3|D4|D5|D6|D7|E0"
		Unassigned := "88|89|8A|8B|8C|8D|8E|8F|97|98|99|9A|9B|9C|9D|9E|9F|D8|D9|DA|E8"

Ещё есть кнопки f13-f24.
Вопрос только даёт ли утилита вариант их прописать.

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

8

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

serzh82saratov пишет:

Можно и в репу продублировать

Звучит двусмысленно!

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

9

Re: AHK: Назначение команд на одну и ту же кнопку мыши для разных программ

Безпорно.)

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