try this:
// Project: FindHelp
// Created: 2022-06-09
// By: Virtual Nomad
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "FindHelp" )
SetWindowSize( 640,360, 0 )
SetWindowAllowResize( 1 )
// set display properties
SetVirtualResolution( 320,180)
SetOrientationAllowed( 1, 1, 1, 1 )
SetSyncRate( 30, 0 )
SetScissor( 0,0,0,0 )
UseNewDefaultFonts( 1 )
SetPrintSize(20)
GLOBAL HelpDIR$
HelpDIR$ = "C:\Program Files (x86)\Steam\steamapps\common\AppGameKit Studio\media\Help\"
CoreFile$ = "raw:" + HelpDIR$ + "corekeywordlinks.txt"
KeyFile$ = "raw:" + HelpDIR$ + "keywordlinks.txt"
HelpURL$ = "https://www.appgamekit.com/documentation/"
Type Link
LowCommand as String
Command as String
File as String
EndType
GLOBAL Commands as Link []
If GetFileExists(CoreFile$) then AddLinks(CoreFile$)
If GetFileExists(KeyFile$) then AddLinks(KeyFile$)
OnLine = CreateText("[Online]")
SetTextSize(Online,24) : SetTextBold(Online,1)
do
If GetRawKeyState(27) then End
ThisCommand$ = LOWER(GetClipboardText())
If ThisCommand$ <> LastCommand$
IND = Commands.Find(ThisCommand$)
If IND > -1
Path$ = Commands[IND].File
SetWindowTitle(Commands[IND].Command + "()")
OpenBrowser(HelpDIR$ + Path$)
SetTextString(Online,"[" + Commands[IND].Command + "]")
LastCommand$ = ThisCommand$
Else
Path$ = ""
SetWindowTitle("FindHelp")
SetTextString(Online,"FindHelp")
EndIf
EndIf
If GetTextHitTest(Online,GetPointerX(), GetPointerY()) and GetPointerPressed() and Path$ <> ""
OpenBrowser(HelpURL$ + Path$)
EndIf
Sync()
loop
Function AddLinks(File$)
ThisFile = OpenToRead(File$)
Repeat
ThisLine$ = ReadLine(ThisFile)
ThisLink as Link
ThisLink.Command = GetStringToken(ThisLine$, "|", 1)
ThisLink.LowCommand = LOWER(ThisLink.Command)
ThisLink.File = GetStringToken(ThisLine$, "|",2)
If Commands.Find(ThisLink.Command) = -1 then Commands.InsertSorted(ThisLink)
Until FileEOF(ThisFile)
CloseFile(ThisFile)
EndFunction

make sure to set HelpDIR$ to your own.
meanwhile, no F1 functionality. it simple monitors the clipboard and directs to the help file for any command it finds.
so, double-click a command in the IDE then CTRL-C should trigger.
i don't know how useful the Online help reference is (in addition to the fact that not all Studio-only commands
ARE found in the online help, if any) but threw it in there anyway

)
also, i believe madbit's (WIN only)
FileExplore has a KeepOnTop() function to keep FindHelp above the rest. i could try implementing if anyone wants it.
i also thought about filling the Commands array and saving/reloading it vs repopulating it each launch but this way we're sure it's as current as can be if we see additional commands?
regardless, feel free to alter the code to suit your desires and share if you add functionality.
probably a smarter version:
// Project: FindHelp
// Created: 2022-06-09
// By: Virtual Nomad
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "FindHelp" )
SetWindowSize( 640,90, 0 )
SetWindowAllowResize( 1 )
// set display properties
SetVirtualResolution( 320,45)
SetOrientationAllowed( 1, 1, 1, 1 )
SetSyncRate( 30, 0 )
SetScissor( 0,0,0,0 )
UseNewDefaultFonts( 1 )
SetPrintSize(16)
SetWindowPosition(GetMaxDeviceWidth()-GetWindowWidth(),100)
GLOBAL HelpDIR$
HelpDIR$ = "C:\Program Files (x86)\Steam\steamapps\common\AppGameKit Studio\media\Help\"
CoreFile$ = "raw:" + HelpDIR$ + "corekeywordlinks.txt"
KeyFile$ = "raw:" + HelpDIR$ + "keywordlinks.txt"
HelpURL$ = "https://www.appgamekit.com/documentation/"
Type Link
LowCommand as String
Command as String
File as String
EndType
GLOBAL Commands as Link []
If GetFileExists(CoreFile$) then AddLinks(CoreFile$)
If GetFileExists(KeyFile$) then AddLinks(KeyFile$)
do
If GetRawKeyState(27) then End
If Last# + 1 < Timer()
ThisCommand$ = LOWER( StripString (GetClipboardText()," "))
If ThisCommand$ <> ""
IND = Commands.Find(ThisCommand$)
If IND > -1
Path$ = Commands[IND].File
Command$ = Commands[IND].Command
EndIf
EndIf
Last# = Timer()
EndIf
Print(Command$)
If Path$ <> "" and GetPointerPressed() then OpenBrowser(HelpDIR$ + Path$)
Sync()
loop
Function AddLinks(File$)
ThisFile = OpenToRead(File$)
Repeat
ThisLine$ = ReadLine(ThisFile)
ThisLink as Link
ThisLink.Command = GetStringToken(ThisLine$, "|", 1)
ThisLink.LowCommand = LOWER(ThisLink.Command)
ThisLink.File = GetStringToken(ThisLine$, "|",2)
If Commands.Find(ThisLink.Command) = -1 then Commands.InsertSorted(ThisLink)
Until FileEOF(ThisFile)
CloseFile(ThisFile)
EndFunction
polls once per second and requires click to launch (vs launching every time the clipboard changes

)