바이브코딩2026. 1. 22. 01:13

ahk 2.0 코드입니다.

PC로 웹툰을 볼 때, 마우스 휠 굴리긴 귀찮고, 방향키 or pgup pgdn은, 너무 많이 내려가길래.

키보드 방향키(위/아래)를 누르면 마우스 휠 굴리는 것과 같은 효과를 주도록 만들었습니다.

창 제목을 감지했을 때만 작동하며, 그 외에는 본연의 키기능이됩니다.
+와 -키로 속도 조절이 가능합니다.

키를 누를 때 마다 툴팁으로 현재 state를 알려줍니다.

 

 

 

#Requires AutoHotkey v2.0
#SingleInstance Force

global scrollDelay := 30
global minDelay := 5
global maxDelay := 200
global isScrolling := false
global tipX := 10, tipY := 10

ShowStatus(extra := "") {
    global scrollDelay, isScrolling, tipX, tipY
    state := isScrolling ? "SCROLLING" : "IDLE"
    msg := "Delay(ms): " scrollDelay " | State: " state
    if (extra != "")
        msg .= " | " extra
    ToolTip msg, tipX, tipY
}

AdjustSpeed(delta, keyLabel := "") {
    global scrollDelay, minDelay, maxDelay
    scrollDelay := Clamp(scrollDelay + delta, minDelay, maxDelay)
    ShowStatus("Speed " keyLabel)
}

Clamp(v, lo, hi) => v < lo ? lo : v > hi ? hi : v

; =========================
; 네이버 웹툰일 때만 동작
; =========================
; 1) 크롬/엣지 창이면서
; 2) 창 제목에 "웹툰" 또는 "WEBTOON" 또는 "네이버 웹툰"이 포함될 때
IsWebtoonActive() {
    title := WinGetTitle("A")
    proc  := WinGetProcessName("A")
    if !(proc ~= "i)^(chrome\.exe|msedge\.exe)$")
        return false
    ; 제목 패턴은 필요하면 여기만 조정하면 됨
    return (title ~= "i)(네이버\s*웹툰|WEBTOON|웹툰)")
}

#HotIf IsWebtoonActive()

Down:: {
    global isScrolling, scrollDelay
    isScrolling := true
    ShowStatus("Down pressed")

    while GetKeyState("Down", "P") {
        Send "{WheelDown}"
        Sleep scrollDelay
    }

    isScrolling := false
    ShowStatus("Down released")
}

 Up:: {
     global isScrolling, scrollDelay
     isScrolling := true
     ShowStatus("Up pressed")
     while GetKeyState("Up", "P") {
         Send "{WheelUp}"
         Sleep scrollDelay
     }
     isScrolling := false
     ShowStatus("Up released")
 }

NumpadAdd:: AdjustSpeed(-5, "+")
NumpadSub:: AdjustSpeed(+5, "-")
+:: AdjustSpeed(-5, "+")
-:: AdjustSpeed(+5, "-")

#HotIf
; =========================
; 여기 아래는 전역(항상) 동작 없음
; -> 웹툰이 아닐 땐 Down 키 원래 기능 그대로
; =========================

ShowStatus("Ready (Webtoon-only)")

 

;이 코드는 GPT5.2로 사실상 원샷에 제작되었습니다.

Posted by nOne2