32

I just want a little utility that monitors mouse clicks so that when one occurs a visual bubble effect (or something similar) occurs, similar to something you might see in a screencast.

6 Answers 6

27

Native Windows option

Mouse Properties > Pointer Options > Show Location of Pointer

Combined with AutoHotkey

~LButton::
Send {Ctrl}
return

~LButton UP::
Send {Ctrl}
return

Every mouse-click (down & up) fires a Ctrl briefly.

As pointed out by Paolo you can even change the Mouse setting as part of the script:

DllCall("SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0) ;SPI_SETMOUSESONAR ON

OnExit, ExitSub
ExitSub:
   DllCall("SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0) ;SPI_SETMOUSESONAR OFF
   ExitApp
3
  • 1
    I have fixed the suggestion here (and thanks for putting me onto AutoHotKey). It took me hours to figure out the fix. I added a single character (the tilde ~) that enabled the normal operation of the mouse to pass through. I have also modified the example so that not only a mouse-click release, but also the intial mouse-click generates the effect.
    – user119439
    Feb 21, 2012 at 13:46
  • 1
    It is possible to automatically change the mouse settings. See this link: autohotkey.com/board/topic/… Dec 3, 2014 at 15:00
  • The change I made was to remove ~LButton and use only ~LButton Up, because having both creates a disjointed sonar effect, but using only the up click makes it work perfect.
    – Trialsman
    Jan 30, 2019 at 20:06
6

Checkout PxKeystrokesForScreencasts, an Open Source utility that shows the mousepointer with a colored circle around, mouse activity (scroll, left/right click) and keystroks.

It's a single exe file and works perfectly.

Screenshot

1
  • Slowed down my cursor movement significantly :/ I'm on a Thinkpad laptop with 16GB RAM
    – Prid
    Jul 12, 2021 at 18:24
3

I found a new (imo better) solution for this recently. It's a handy tool by Luc Boisvert that you can find on this page: https://sites.google.com/site/boisvertlab/computer-stuff/online-teaching

It uses AutoHotkey too, and might even use some of the same mechanics as other posts here, but it's slick, quick, and intuitive to set up and customize. It's part of this YouTube video for a more thorough/visual explanation https://www.youtube.com/watch?v=kwSqtNvT7to

I set the script to launch on startup (https://www.youtube.com/watch?v=0kGP8S9o7qI) with the cursor highlight off by default, and hotkey away as needed from there. Suits me, might suit others who find this page too!

3

Microsoft PowerToys Mouse Utilities has this feature. It allows you to customize the diameter, fade speed, transparency, color, and to assign separate colors for right and left clicks. Provides a handy shortcut Win + Shift + H to enable or disable. Been using this for a while now, it's a lovely tool that still occasionally leaves a ghost marker behind that can easily be cleared toggling it on and off by pressing the hotkey twice. Happens maybe once a day, although I do use the computer almost 16 hours a day.

2

This is a variant of RJFalconer's answer, incorporating changes from Paolo Fulgoni. I didn't want to always see my mouse when the CTRL button was pressed, and I hoped the DllInfo modification would dynamically switch the setting on and off, but I couldn't get it to work (the script would just exit). No doubt someone more sophisticated in AHK could explain what I was doing wrong, but I went ahead and created my own version.

It dyamically switches the "Show mouse when control is pressed" option ON when the mouse button is pressed, and then switches it OFF afterwards. It works fine in limited testing, although sometimes the mouse pointer disappears aftewards. If anyone knows how to fix it, or has any other improvements, feel free to jump in.

It's (excessively) documented, because I quickly forget things, and when I need to revisit, I like to have my scripts provide enough info that I don't need to search to find all the old references I used in the first place.

;Visualize mouse clicks by showing radiating concentric circles on mouse click
;Author: traycerb
;Date/Version: 01-31-2018
;
;Source:
;https://superuser.com/questions/106815/how-do-you-add-a-visual-effect-to-a-mouse-click-from-within-windows
;https://autohotkey.com/board/topic/77380-mouse-click-special-effects-for-presentationsdemos/

;Dynamically switch on the Windows accessibility feature to show the mouse when the control key is pressed
;when the script is executed, then switch off afterwards
;Windows settings > Mouse > Pointer Options tab > Visibility group > Show location of pointer when I press CTRL key



;Window's SystemParametersInfo function, retrieves or sets the value of one of the 
;system-wide parameters.  AHK DllCall fxn with SystemParameterInfo parameter is used to access
;this Windows API.
;https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx
;BOOL WINAPI SystemParametersInfo(
;  _In_    UINT  uiAction,
;  _In_    UINT  uiParam,
;  _Inout_ PVOID pvParam,
;  _In_    UINT  fWinIni
;);

;uiParam [in]
;Type: UINT
;
;A parameter whose usage and format depends on the system parameter being queried or set. 
;For more information about system-wide parameters, see the uiAction parameter. 
;If not otherwise indicated, you must specify zero for this parameter.

;pvParam [in, out]
;Type: PVOID
;
;A parameter whose usage and format depends on the system parameter being queried or set. 
;For more information about system-wide parameters, see the uiAction parameter. 
;If not otherwise indicated, you must specify NULL for this parameter. 
;For information on the PVOID datatype, see Windows Data Types.

;fWinIni [in]
;Type: UINT
;
;If a system parameter is being set, specifies whether the user profile is to be updated, 
;and if so, whether the WM_SETTINGCHANGE message is to be broadcast to all top-level 
;windows to notify them of the change.

;This parameter can be zero if you do not want to update the user profile 
;or broadcast the WM_SETTINGCHANGE message or it can be set to the following [...]

;Accessibility parameter    
;S0x101D PI_SETMOUSESONAR
;Turns the Sonar accessibility feature on or off. This feature briefly 
;shows several concentric circles around the mouse pointer when the user 
;presses and releases the CTRL key. 
;The pvParam parameter specifies TRUE for on and FALSE for off. 

;Press the control button each time mouse button is pressed, showing location of mouse pointer.
~LButton::
{
  DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0) 
  Send {Ctrl}
  DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0) 
  return
}

~RButton::
{
  DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 1, UInt, 0) 
  Send {Ctrl}
  DllCall("user32\SystemParametersInfo", UInt, 0x101D, UInt, 0, UInt, 0, UInt, 0) 
  return
}
1
  • It was useful thanks. I also added #SingleInstance force line to avoid annoying popup message during double clicks.
    – Phil B
    Jun 28, 2018 at 17:02
2

Searching for the same thing, I came across a neat little app in the Microsoft App Store made by Catmip5 Media: Mouse Highlights

Here's a screenshot of the settings:

enter image description here

It solves the problem perfectly, is lightweight and easy to install even without admin privileges.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .