;; -> init GroupAdd, KompoZer, ahk_exe kompozer.exe ahk_class MozillaUIWindowClass ;; -> body #IfWinActive ahk_group KompoZer ^q::SendInput, !vd ; design ^w::SendInput, !vs ; split ^e::SendInput, !vh ; source ^1::SendInput, !op1 ; heading 1 ^2::SendInput, !op2 ; ... ^3::SendInput, !op3 ^4::SendInput, !op4 ^5::SendInput, !op5 ^6::SendInput, !op6 ^p::SendInput, !opp ; paragraph ^+p::SendInput, !opf ; preformatted ^+b::SendInput, !ost ; strong ^+i::SendInput, !ose ; emphasis ^+-::SendInput, !ozr ; smaller ^++::SendInput, !ozg ; bigger ^+c::SendInput, !oso ; code ^+t::SendInput, !osx ; tt ^h:: ; horizontal rule SendInput, !ih Sleep, 100 SendInput,
{Tab}{Enter} return $^!s:: ; clean up and save SendInput, !tm Sleep, 100 SendInput, {Enter}{Esc}^s return +AppsKey:: ; open tag menu MouseGetPos, mx, my WinGetPos,,, w, h BlockInput, MouseMove MouseMove, % w - 40, % h - 20, 0 SendInput, {RButton} MouseMove, % mx, % my, 0 BlockInput, MouseMoveOff return F1:: ; open advanced properties for tag MouseGetPos, mx, my WinGetPos,,, w, h BlockInput, MouseMove MouseMove, % w - 40, % h - 20, 0 SendInput, {RButton} MouseMove, % mx, % my, 0 Sleep, 10 SendInput, {Up}{Enter} BlockInput, MouseMoveOff return F2:: ; open inline styles for tag MouseGetPos, mx, my WinGetPos,,, w, h BlockInput, MouseMove MouseMove, % w - 40, % h - 20, 0 SendInput, {RButton} MouseMove, % mx, % my, 0 Sleep, 10 SendInput, {Up}{Up}{Enter} BlockInput, MouseMoveOff return #IfWinActive Rubber dome keyboard buyer's guide ahk_group KompoZer ;; -> library CounterRD() { static clicks := 0 clicks += 1 return clicks } ;; -> body F8:: ; class=left MouseGetPos, mx, my WinGetPos,,, w, h BlockInput, MouseMove if (CounterRD() & 1) ; odd MouseMove, % w - 40, % h - 25, 0 else MouseMove, % w - 40, % h - 15, 0 SendInput, {RButton}{Up}{Up}{Up}{Right}l MouseMove, % mx, % my, 0 BlockInput, MouseMoveOff return F9:: ; class=clear MouseGetPos, mx, my WinGetPos,,, w, h BlockInput, MouseMove if (CounterRD() & 1) ; odd MouseMove, % w - 40, % h - 25, 0 else MouseMove, % w - 40, % h - 15, 0 SendInput, {RButton}{Up}{Up}{Up}{Right}c MouseMove, % mx, % my, 0 BlockInput, MouseMoveOff return #IfWinActive ahk_group KompoZer ;; -> body ; ____ ; |_ _| ; | | a b l e o f c o n t e n t s ; |_| ReNumLock: KeyWait, NumLock SetNumLockState, On SetTimer, ReNumLock, Off return ; (1) update table of contents (h2-h6) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") SC04F:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibu goto toc1 ; (1) create table of contents (h2-h6) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") +SC04F:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibi goto toc1 toc1: Sleep, 100 SendInput, h2{Tab}{Tab}h3{Tab}{Tab}-{Tab}-{Tab}-{Tab}-{Enter} return ; (2) update table of contents (h2 only) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") SC050:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibu goto toc2 ; (2) create table of contents (h2 only) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") +SC050:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibi goto toc2 toc2: Sleep, 100 SendInput, h2 goto toc4 ; (3) update table of contents (h3 only) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") SC051:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibu goto toc3 ; (3) create table of contents (h3 only) #If WinActive("ahk_group KompoZer") and !GetKeyState("NumLock", "T") +SC051:: if GetKeyState("NumLock", "P") SetTimer, ReNumLock, On SendInput, !ibi goto toc3 toc3: Sleep, 100 SendInput, h3 goto toc4 toc4: SendInput, {Tab}{Tab}-{Tab}-{Tab}-{Tab}-{Tab}-{Enter} return #IfWinActive