ckhotspots
posted Jun. 10 2001
under
| File | Released | Downloads |
|---|---|---|
| ckhotspots-2.3.3.zip | Dec. 05 2003 | 13938 |
| ckhotspots-2.3.2.zip | Nov. 22 2003 | 269 |
| ckhotspots-2.3.zip | Apr. 30 2003 | 2246 |
| ckhotspots-2.2.zip | Aug. 04 2001 | 41 |
| ckhotspots-2.1.zip | Jul. 02 2001 | 36 |
| ckhotspots-2.0.zip | Jun. 11 2001 | 38 |
| ckhotspots-1.0.zip | Jun. 10 2001 | 38 |
_______________________________ ckHotspots.dll v2.3 Released 2003-04-27 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Author: 2.3 Eric Moore (Hollow) hollow1@myrealbox.com, www.pages.drexel.edu/~ewm23/ckhotspots.htm 0-2.2 Chao-Kuo Lin (chaokuo@iname.com, http://cklin.cjb.net) This is a really simple hotspots module that lets you define hotspots with entry and exit actions. _______________________________ Usage: Step Settings ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ LoadModule "path\to\ckhotspots.dll" It is important that ckMouseHook.dll is located in the same directory as litestep.exe. Don't load it as a module though. _______________________________ ckHotspotsTimeOut # ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ define how frequent the module will check the mouse, the smaller the more frequent, (default: 100) ONLY if ckHotspotsVersion1Style is specified. _______________________________ ckHotspotsVersion1Style ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ By putting this in the step.rc you'll making the module to use the version one mouse trapping engine. Use it to tweak the module and see which works best for you. This style is the default style if you have nothing specified. (recommended for newbies) _______________________________ ckHotspotsMouseHookStyle ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ By having this in step.rc you'll make the module utilize the ckmousehook.dll and will generally have a quicker response than the default style, however, sometimes it might have some unexpected results. (recommended for intermediate users) Remember to place your ckMouseHook.dll in your LiteStep.exe and lsapi.dll directoy for this to work _______________________________ IHaveAlotOfResourcesAndIReallyWantSomeVeryQuickStyle ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ By having this one in step.rc, you are using the ultimate combination of mouse trapping engine. However, as the name implies, It might require slightly more resource but would be hard to notice. (recommended for advanced users) _______________________________ Creating Hotspots ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ *ckHotspot x y width height [on enter] [on exit] [name] on/off Place as many of these lines in your configuration as you wish. _______________________________ x, y, width and height ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ The coordinates of the hotspot, negatives are allowed. X and y specify the top left corner of the hotspot. Width and height are (surprise) the width and height of the hotspot box. If 0 is given for either width or height the hotspot will span the whole screen. Note that x and y are relative to the desktop, so if you expect 0,0 to be the top, left corner of the primary monitor, you might get surprised on some multimonitor systems. _______________________________ on enter/on exit ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Actions to trigger when the mouse cursor enters or exits the hotspot. these can be any bang commands, programs, shortcuts, etc. _______________________________ name ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ A name for the spot. OPTIONAL. Allows more control over the spot. This parameter is need to toggle (!hotspottoggle) or adjust (!hotspotadjust) the spot. _______________________________ on/off ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ The hotspot's intial status. OPTIONAL. defaults to on. Valid entries: on, true, yes, off, false, no. Hotspots maybe activated post creation with !Hotspottoggle or !HotspotON _______________________________ Usage: Bang Commands ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ _______________________________ !HotspotON name ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Turns the hotspot specified by name on. If the name parameter is not supplied, all spots are effected. _______________________________ !HotspotOFF name ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Turns the hotspot specificed by name off. if the name parameter is not supplied, all spots are effected. _______________________________ !HotspotToggle name ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Toggles the on/off status of the hotspot specified by name. If the name parameter is not supplied all spots are effected. _______________________________ !HotspotAdd x y w h [on enter] [on exit] [name] on/off ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Dynamically adds a hotspot. All parameters are identical to those in *ckhotspot steprc lines. See above for details. _______________________________ !HotspotRemove name ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Deletes a hotspot specified by name. _______________________________ !HotspotAdjust name dx dh dw dh ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Allows adjusting the position and size of a hotspot on the fly. The hotspot specifed by name will be effected. Dx, dy, dw, and dh are values to adjust, the x position, y position, width, and height respecitivly. Negatives can be used for any of the delta values. It will prevent the spot from moving off screen, but 0 width/height spots are permitted. _______________________________ !HotspotDebug ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ This bang is for debug purpose only. When executed all your spots defintions will be displayed in a message box, so you can check for correctness. _______________________________ Examples: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ *ckHotspot -32 -32 0 0 !VWMRight !none ;the box is located at -32, -32 and it's width and height are spanned to the rest of the screen. *ckHotspot 0 -32 32 0 !VWMLeft !none ;the box is located at 0, -32, and it's height is spanned to the bottom of the screen. *ckHotspot 1081 -24 71 24 !SystrayShow !SystrayHide Systray on ;with name and status given !HotspotON mysexyspot ; this will turn your sexy spot on. !HotspotOFF myGspot ; this will turn your G spot off so it'll stop functioning until you turn it on again. !HotspotAdd -32 -32 0 0 !VWMRight !none !HotspotAdjust Systray -19 0 19 0 ;moves the spot 19 pixels to the left, and makes it 19 pixels wider (ie the right edge ;doesn't move) _______________________________ Changes: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ _______________________________ v2.3.3, 2003-11-26 RabidCow ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Should actually load on non-WinXP systems now. tested ckMouseHook.dll in same dir as ckHotspots.dll (you can use *NLM ckhotspots-2.3.3 load ckhotspots.dll with ckHotspotsMouseHookStyle) _______________________________ v2.3.2, 2003-11-21 RabidCow ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Now using correct multimonitor positions. Now using strsafe functions instead of strcpy, cat. In/Out action bufffer larger (was 255, now standard 4k) Some code rearrangement to eliminate duplicated code. Using match instead of stricmp in !HotspotON, etc. so you can use wildcards. Simplified SystemAdjust, it looked iffy. Fixed in/out actions repeating. !HotspotDebug can now take a hotspot name/pattern (eg, spot*) (untested) ckMouseHook.dll can now be in the same dir as ckhotspots.dll _______________________________ v2.3, 2003-04-27 Hollow ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Added !HotspotAdjust. Reformated readme. _______________________________ v0 - v2.2 Chao-Kuo Lin ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ /****************** v2.2 2001/08/03************/ Since mouse hook was causing some problem, and it seems that version 1 style is best for default style so newbies won't get frustrated, so I have changed the default style back to the old version 1 style. Step.rc config Added -ckHotspotsMouseHookStyle Since version 1 style becomes default now, for those who wants version 2 style can specify this. -IHaveAlotOfResourcesAndIReallyWantSomeVeryQuickStyle This is the ultimate style with the combination of version 1 + 2 engine. It should be pretty self-explanatory if you want this style or not. Bug fixed -The problem with not showing popup menus is now fixed Speical thanks to Pavel Vitis, the author of hotspot.dll, for helping with the bug fix. /****************** v2.1 2001/07/01************/ Alright, in this version, i separated the mouse hook into it's own dll, which now runs much much faster and more efficient. But remember to place it in the root dir with LiteStep.exe and lsapi.dll or it won't work. You don't need to load ckMouseHook.dll, hotspots will load it if you didn't specify ckHotspotsVersion1Style. So this is basically it. BTW, thanks jugg for his suggestion and help. Thanks ;-) /****************** v2.0 2001/05/28************/ Now second version adds the ability to add and remove spots on the fly and to turn spots ON and OFF, and you can also toggle them. Second version also employs a differnt mouse coordinate trapping technique by installing a mouse hook. I found that it feels a bit slower to use the hook, but if that works best for you then. The only benefit would be that you get instantaneous hotspot reaction. So i would prefer that you specify ckHotspotsVersion1Style to make things more efficient. *warning: YOU DO NOT NEED TO CHANGE ANY CONFIGUARTION FROM VERSION ONE AND IT'LL STILL WORK! unless of course you want to use the new functionalities. Step.rc config Updated -*ckHotspot x y width height [action to perform when mouse enters] [action to perform when mouse leaves] [name] on/off >name is the new addition so you can have more control over your spots ;-) just specify a text here, and the spot will be assigned with that name. You'll need the name to toggle it and stuff. and remember, name is totally OPTIONAL! that means you assign name only when you want to control them. >the on/off is for you to specify the spot's initial status. you can activate the spot after the module is loaded by putting "on" or "true" or "yes" otherwise you can put "off", "false", "no". If you didn't specify anything, the spot will default to be on or activated. -ckHotspotsVersion1Style >By putting this in the step.rc you'll making the module to use the version one mouse trapping engine. Use it to tweak the module and see which works best for you. Bang Commands !HotspotON "name" !HotspotOFF "name" !HotspotToggle "name" Description: these three are pretty self explanatory. The name parameter is the name you assign to the spot in step.rc. You can turn different spots on and off by doing something like: !HotspotON "mysexyspot" ; this will turn your sexy spot on. !HotspotOFF "myGspot" ; this will turn your G spot off so it'll stop functioning until you turn it on again. If the "name" parameter is not supplied, then all the spots are effected. !HotspotON to turn on all the spots at once !HotspotAdd x y width height [action to perform when mouse enters] [action to perform when mouse leaves] [name] on/off !HotspotRemove "name" Description: these two bangs allows you to add and remove spots dynamically. The arguments for HotspotAdd is exactly the same as the *ckHotspot config in step.rc section. So like: !HotspotAdd -32 -32 0 0 !VWMRight !none will add a spot located at -32, -32 and it's width and height are spanned to the rest of the screen. !HotspotDebug Description: This bang is for debug purpose only. When you execute this bang, all your spots defintion will be popped up in message box, so you can check if they are correct or not. /****************** v1.0 2000/10/28************/ First release I coded it up because hotspots.dll doesn't let me click through the spots, and i just wanted something simple to achieve the autohide feature in some modules that didn't implement it. This hotspots module is a lot smaller than hotspots.dll because of its simplicity and thus the speed. Step.rc config -ckHotspotsTimeOut # >define how frequent the module will check the mouse, the smaller the more frequent, (default: 100) -*ckHotspot x y width height [action to perform when mouse enters] [action to perform when mouse leaves] >x, y, width and height can be negative >x, y specifies the left top hotspot box >width and height specifies the width and height for the hotspot box. If you specify either one of them to be 0 the box width or height will span to the whole screen. >the next two action can be bang commands or a path to a program *Important: none of your configurations from your Hotspots module will work because this has nothing to do with the hotspots module