1

Тема: AHK: Opera 11.6x - изменение масштаба мышью

Хотелось бы иметь возможность менять масштаб интернет-страниц в браузере Opera по удержанию правой кнопки мыши + прокрутка. Сейчас эта комбинация работает как переключатель вкладок, и ее нельзя отключить. В Опере также можно использовать сочетание ctrl+прокрутка. Поэтому, появилась идея подменять удерживаемую правую кнопку на клавишу ctrl (при условии, что задействовано колесо мыши). Может уже было схожее решение?

2 (изменено: creature.ws, 2012-06-10 07:22:02)

Re: AHK: Opera 11.6x - изменение масштаба мышью

#If Rbutton_pressed && WinActive("ahk_class OperaWindowClass")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
#If

~RButton::
    Rbutton_pressed := True
    KeyWait, RButton
    Rbutton_pressed := False
    return

3

Re: AHK: Opera 11.6x - изменение масштаба мышью

Попробовал запустить на win7 64: в AHK_L не заработало (менял разные кодировки), единственное отключилась окно смены вкладок. В обычном AHK появилась ошибка:
http://i45.tinypic.com/63yttg.png

4

Re: AHK: Opera 11.6x - изменение масштаба мышью

Код работает под ahk_l.

5 (изменено: Xwansu, 2012-06-10 22:38:52)

Re: AHK: Opera 11.6x - изменение масштаба мышью

creature.ws пишет:

Код работает под ahk_l.

Понял, но ни в какую не хочет менять масштаб.
PS: У меня сейчас Unicode (32-bit) версия. Попробую ANSI

http://i48.tinypic.com/21pphk.png

6 (изменено: creature.ws, 2012-06-10 22:57:02)

Re: AHK: Opera 11.6x - изменение масштаба мышью

Скриншоты излишни
Различия unicode и ansi версий не играют роли в данном случае.
Можете попробовать :

#If Rbutton_pressed && WinActive("ahk_class OperaWindowClass")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
#If

RButton::
    Rbutton_pressed := True
    KeyWait, RButton
    Rbutton_pressed := False
    If (A_ThisHotkey == A_ThisLabel)
        Click R
    return

Но «зажатие правой кнопки мыши» в таком варианте невозможно.

7

Re: AHK: Opera 11.6x - изменение масштаба мышью

Отлично! Работает.
Thanks creature.ws 
Только не понял фразы

creature.ws пишет:

Но «зажатие правой кнопки мыши» в таком варианте невозможно.

А зачем нужно это зажатие?

8

Re: AHK: Opera 11.6x - изменение масштаба мышью

Ну, значит не нужно.

9 (изменено: Xwansu, 2012-06-10 23:17:38)

Re: AHK: Opera 11.6x - изменение масштаба мышью

creature.ws пишет:

Ну, значит не нужно.

Но теперь стало интересно, в каких случаях может использоваться!
Может для управления мышью - жесты Оперы...

10

Re: AHK: Opera 11.6x - изменение масштаба мышью

creature.ws пишет:

Но «зажатие правой кнопки мыши» в таком варианте невозможно.

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

11

Re: AHK: Opera 11.6x - изменение масштаба мышью

Сойдёмся на невозможности изменить стандартный жест при помощи ahk.

12

Re: AHK: Opera 11.6x - изменение масштаба мышью

Наверное, так:

#If GetKeyState("RButton", "P") && WinActive("ahk_class OperaWindowClass")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
    
#If WinActive("ahk_class OperaWindowClass")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: Opera 11.6x - изменение масштаба мышью

teadrinker пишет:

Наверное, так:

Класс, спасибо teadrinker!

14

Re: AHK: Opera 11.6x - изменение масштаба мышью

Уже настолько привык к смене масштаба по ПКМ+прокрутка, что хочу везде сделать также.
Для Firefox


#If GetKeyState("RButton", "P") && WinActive("ahk_class MozillaWindowClass")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
 
#If WinActive("ahk_class MozillaWindowClass")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return

Для Adobe Reader


#If GetKeyState("RButton", "P") && WinActive("ahk_class AcrobatSDIWindow")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
 
#If WinActive("ahk_class AcrobatSDIWindow")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return

Для Sublime Text


#If GetKeyState("RButton", "P") && WinActive("ahk_class PX_WINDOW_CLASS")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
 
#If WinActive("ahk_class PX_WINDOW_CLASS")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return

-----------
Подскажите, какой класс использовать для офиса - Word 2010, Exel 2010, PP 2010 на Вин 7?
-----------
Можно ли объединить скрипты в один?

15

Re: AHK: Opera 11.6x - изменение масштаба мышью

Вот так, наверная:


#If GetKeyState("RButton", "P") && WinActive("ahk_class MozillaWindowClass")
|| WinActive("ahk_class AcrobatSDIWindow") || WinActive("Оффис")
|| WinActive("ahk_class PX_WINDOW_CLASS")
WheelUp::
    If WinActive("Оффис")
        Send  ^{WheelUp}
    Else
        Send  ^{vkBB}
    return
WheelDown::
    If WinActive("Оффис")
        Send  ^{WheelDown}
    Else
        SendInput ^{vkBD}
    return
#If

#If WinActive("ahk_class MozillaWindowClass") || WinActive("ahk_class AcrobatSDIWindow")
|| WinActive("Оффис") || WinActive("ahk_class PX_WINDOW_CLASS")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return
#If

По поводу классов оффиса на 7-ке сказал бы, да не скажу: он от меня ключа требует...

16 (изменено: creature.ws, 2012-10-30 23:50:18)

Re: AHK: Opera 11.6x - изменение масштаба мышью

По поводу сообщения #14 — в примерах различается лишь класс окна. Объедините нужные окна в секции автовыполнения в группу. Множество последовательных вызовов WinActive работает медленнее одиночной проверки активности какого-либо окна из ранее созданной группы окон.

В Sublime Text 2 прокручивание колеса мыши с зажатой правой кнопкой циклически переключает вкладки, размер шрифта изменяется при прокручивании с зажатым ctrl (по умолчанию). Переключать вкладки приходится чаще, чем менять размер шрифта. Считаю переназначение неуместным для этого приложения.

17 (изменено: Xwansu, 2012-10-31 00:14:11)

Re: AHK: Opera 11.6x - изменение масштаба мышью

creature.ws пишет:

По поводу сообщения #14 — в примерах различается лишь класс окна. Объедините нужные окна в секции автовыполнения в группу. Множество последовательных вызовов WinActive работает медленнее одиночной проверки активности какого-либо окна из ранее созданной группы окон.

У меня получилось так


#If GetKeyState("RButton", "P") && WinActive("ahk_class MozillaWindowClass")
|| WinActive("ahk_class AcrobatSDIWindow") || WinActive("Оффис")
|| WinActive("ahk_class PX_WINDOW_CLASS")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}

#If WinActive("ahk_class MozillaWindowClass") || WinActive("ahk_class AcrobatSDIWindow")
|| WinActive("Оффис") || WinActive("ahk_class PX_WINDOW_CLASS")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return

Работает криво - масштабирование происходит при прокрутке колеса.

18

Re: AHK: Opera 11.6x - изменение масштаба мышью

Намёк был на


GroupAdd, ScalableWindows, ahk_class MozillaWindowClass
GroupAdd, ScalableWindows, ahk_class AcrobatSDIWindow
GroupAdd, ScalableWindows, ahk_class PX_WINDOW_CLASS


#If GetKeyState("RButton", "P") && WinActive("ahk_group ScalableWindows")
    WheelUp::SendInput  ^{vkBB}
    WheelDown::SendInput ^{vkBD}
 
#If WinActive("ahk_group ScalableWindows")
RButton::
    KeyWait, RButton
    If (A_ThisHotkey = A_ThisLabel)
        Click R
    return

19

Re: AHK: Opera 11.6x - изменение масштаба мышью

DD пишет:

Намёк был на

Аааа =)
Спасибо!