Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;----------------------------------------------------------------------------------------------------
- ;疑似Navigate Lock
- ;※ブラウザ上に於いて指アイコン状態なら全てに適用されるためリンク以外でもホイールクリックしてしまう欠点あり
- ;※このスクリプトは十分検証していないためリンク上でも誤動作する可能性があるので使う時は自己責任で
- ;win10 pro 64bit presto opera 及び vivaldi(chromium系) 及び firefox で動作確認
- ;例として[ctrl]+q押下で疑似Navigate Lockモード、もう一度押下でモード解除
- ;windows10 pro 64bit opera 12.18 64bit で動作確認
- ;リンク 65567がNGなら65581を試してみる
- ;----------------------------------------------------------------------------------------------------
- #UseHook
- tip_on := 0
- SetTimer, kansi, 300 ;監視間隔調整可能(デフォは300ms間隔)
- return
- ;opera 及び vivaldi 及び firefoxがアクティブな時
- #If WinActive("ahk_class OperaWindowClass")
- || WinActive("ahk_class Chrome_WidgetWin_1")
- || WinActive("ahk_class MozillaWindowClass")
- ^q:: ;モード切替ホットキーはここで変更可能(デフォは[ctrl]+q)
- nav_lock := ! nav_lock
- if (nav_lock) {
- ToolTip, Navigate Lock, 0, 0 ;画面左上に「Navigate Lock」のツールチップ表示
- tip_on := 1
- } else {
- ToolTip,
- tip_on := 0
- }
- return
- #If
- ;opera 及び vivaldi 及び firefoxがアクティブでNavigate Lockモード且つマウス直下がリンク(指アイコン)なら
- #If (Winactive("ahk_class OperaWindowClass")
- || WinActive("ahk_class Chrome_WidgetWin_1")
- || WinActive("ahk_class MozillaWindowClass"))
- && (nav_lock && RL_GetCursor() = 65567)
- LButton::Send, {MButton} ;中(ホイール)クリック
- #If
- ;Navigate Lockモードになってる場合
- ;opera 及び vivaldi 及び firefoxが非アクティブならツールチップ非表示にしアクティブになったら表示させる
- kansi:
- if (nav_lock) {
- if Winactive("ahk_class OperaWindowClass")
- || WinActive("ahk_class Chrome_WidgetWin_1")
- || WinActive("ahk_class MozillaWindowClass") {
- if (tip_on = 0) {
- ToolTip, Navigate Lock, 0, 0
- tip_on := 1
- }
- } else if ! (Winactive("ahk_class OperaWindowClass")
- || WinActive("ahk_class Chrome_WidgetWin_1")
- || WinActive("ahk_class MozillaWindowClass")) {
- if (tip_on = 1) {
- ToolTip,
- tip_on := 0
- }
- }
- }
- return
- RL_GetCursor() { ;MGLより拝借した関数
- VarSetCapacity(infCur, 16+A_PtrSize, 0)
- NumPut(16+A_PtrSize, infCur, 0, "UInt")
- DllCall("GetCursorInfo", "Ptr",&infCur)
- hCursor := NumGet(infCur, 8, "Ptr")
- return hCursor
- }
Add Comment
Please, Sign In to add comment