Copy link to clipboard
Copied
Does anyone know of any widgets (for HTML5) that would listen for a mouse wheel double click? My limited javascript skills (i.e. copying other people's code examples) aren't working for me!
To explain, in the software we are recording a mouse wheel double click returns the application to a default zoom level. There is no button or other way to achieve the same thing in the software, so we'd like to find a way to simulate this task.
Thanks in advance!
This JavaScript will do the trick. Change yourelement name to the name of the Captivate element.
var count = 0;
var timeout;
var myButton = document.getElementById("yourelementname")
myButton.addEventListener("auxclick", captureMouseWheel, false);
function captureMouseWheel( e )
{
if ( e.button == 1 )
{
count++;
if ( !timeout )
{
timeout = setTimeout( function()
{
timeout = undefined;
check();
}, 250);
}
}
else
{
count = 0;
}
}
function check()
{
if ( count >= 2 )
{
//mousewheel doubleclicked
}
count = 0;
}
Copy link to clipboard
Copied
Normal Click Boxes in Captivate have the option for respoinding to a Double-Mouse Click.
But if you want more flexibility and options for HTML5 then the CpExtra HTML5 widget is the only other solution I know of: https://infosemantics.com.au/about-cpextra/
https://widgetking.github.io/cpextra/features/events-list.html#double-click
https://widgetking.github.io/cpextra/features/events-list.html#double-click
Copy link to clipboard
Copied
However, please bear in mind that your situation is very different to a normal interaction. Having to listen for a double click event on the mouse wheel (not a mouse button) might be next to impossible to achieve without custom coding.
Copy link to clipboard
Copied
Thanks Rod. I do have your cpextra widget, but unfortunately the double click doesn't register for the mouse wheel. I'll keep fighting with my dodgy javascript and see if I can get there!
Copy link to clipboard
Copied
This JavaScript will do the trick. Change yourelement name to the name of the Captivate element.
var count = 0;
var timeout;
var myButton = document.getElementById("yourelementname")
myButton.addEventListener("auxclick", captureMouseWheel, false);
function captureMouseWheel( e )
{
if ( e.button == 1 )
{
count++;
if ( !timeout )
{
timeout = setTimeout( function()
{
timeout = undefined;
check();
}, 250);
}
}
else
{
count = 0;
}
}
function check()
{
if ( count >= 2 )
{
//mousewheel doubleclicked
}
count = 0;
}
Copy link to clipboard
Copied
Thanks so much. That's very generous of you!
Copy link to clipboard
Copied
The mouse click on my computer hasn't been working properly for the past month. I'm testing my mouse for this website Macrotester. then I want to change