Я только сейчас понял, что вы имели ввиду про фиксированное во времени отжатие, и запуск, например подпрограмм.
По умолчанию короткий клик на вызов контекстного меню работает так:
Нажал и тут же (в течении примерно 1 секунды) отжал. Контекстное меню вызывается именно в момент быстрого отжатия RButton UP, а не нажатие на RMB.
Эти миллисекунды c момента нажатия до момента RButton UP и есть наш условный "короткий клик".
Наш скрипт все-таки работает с изъяном, несмотря на то, что я как бы "нашел золотую середину" в 88 ms.
Тестирую в работе и вижу, что часто идет путаница. То контекст не успевает сработать за 88 ms, то команда "Rotate" вызывается со значительной задержкой если изменить 88 ms на более длительный временной интервал.
Не найти тут "золотую середину" — можно лишь чтобы четко работал только "контекст", но с задержкой вызова команды "Rotate". Либо мгновенный "Rotate" если оставить 88 ms или меньше, но тогда не будет правильно работать вызов "контекстного меню".
Вот какие мысли посетили меня чтобы улучшить алгоритм:
Если нажали ПКМ и еще не успели отпустить кнопку в течении 88 ms или около того, то тут должен вызываться "Rotate" (вызывается "ротейт" почти мгновенно — в минимальном временном интервале, (потом можно будет настроить миллисекунды)), но если отпустили в течении, например 1 секунды или больше, то "ротейт" должен перестать работать, чтобы дать возможность сработать команде по умолчанию "Контекст". А если отжатие за 1 секунду (или больше) не произошло, то продолжает работать "ротейт" до любого во времени момента отжатия ПКМ.
Можно ли попросить перевести этот алгоритм на язык программирования?
"Rotate" это наш {ALT}{RButton} до момента отжатия ПКМ.
"Контекст" — скрипт отдает приоритет программным командам по умолчанию при отжатии ПКМ (короткий клик в ms).