Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 12-09-2023, 03:04 PM   #1
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default MouseModifier: Left-Click action is run when doubleclicking

I tried to set an action to the mousemodifier MediaItem -> Alt+left-doubleclick and one to MediaItem -> Alt+left-click.

I just noticed, that alt+left-doubleclick on a MediaItem also runs the action for alt+left-click.
I would have expected that double-click doesn't run the action for single-click.

It works conceptionally when single-click selects the MediaItem and DoubleClick does something with the selected MediaItem, but I wanted to split the Item with single-click and do something entirely unrelated with DoubleClick and now, everytime I doubleclick the Item, it gets split before doing the task I wanted to do initially.
This somehow defeats the usability of DoubleClick-MouseModifier....

Tested on Reaper 6.82x64 and Reaper 7.03x64 on Windows 7
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-09-2023, 03:06 PM   #2
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Every double-click is a single-click first...
schwa is offline   Reply With Quote
Old 12-09-2023, 03:08 PM   #3
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

I fully understand that, but I would expect Reaper to wait the potential double-click-timeframe to determine, whether to run the single-click vs the double-click action.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-09-2023, 03:14 PM   #4
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Well.. it doesn't. That would cause a lot of grief if, for example, clicking to select an item and then trying to run an action that affects selected items before 500ms has elapsed (or whatever the system double-click time is).
schwa is offline   Reply With Quote
Old 12-09-2023, 05:22 PM   #5
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 7,417
Default

This is an interesting discussion, and it has always bugged med that Reaper considers a double-click as first a single-click followed by the expected double-click behavior. In Java/Swing, for instance, a double-click does not first trigger a single-click, double- and single-clicks are distinct.

And no, I do not think that if the user clicks twice within the double-click time limit and gets the double-click behavior would cause any grief. On the contrary, it would be the expected behavior. On Windows, there is a specific setting for the double-click speed. Users adjust that to fit their clicking behavior (well, at least power users do).

Many applications do what Mespotine suggests, wait for the double-click time limit before determining whether to effect the single-click action or the double-click one.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 12-09-2023, 05:32 PM   #6
Coachz
Human being with feelings
 
Coachz's Avatar
 
Join Date: Oct 2010
Location: Charleston, SC
Posts: 12,770
Default

Quote:
Originally Posted by Fabian View Post
This is an interesting discussion, and it has always bugged med that Reaper considers a double-click as first a single-click followed by the expected double-click behavior. In Java/Swing, for instance, a double-click does not first trigger a single-click, double- and single-clicks are distinct.

And no, I do not think that if the user clicks twice within the double-click time limit and gets the double-click behavior would cause any grief. On the contrary, it would be the expected behavior. On Windows, there is a specific setting for the double-click speed. Users adjust that to fit their clicking behavior (well, at least power users do).

Many applications do what Mespotine suggests, wait for the double-click time limit before determining whether to effect the single-click action or the double-click one.
You're correct. That is how handling double clicks and single clicks should work. I have commented on this years ago and it is something that should be addressed IMO. In Windows control panel when you go into the mouse properties you can see if you have a double click or a single click happening and adjust the interval. Reaper should respond the same way.
Coachz is offline   Reply With Quote
Old 12-10-2023, 06:06 AM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,750
Default

Quote:
Originally Posted by Fabian View Post
I do not think that if the user clicks twice within the double-click time limit and gets the double-click behavior would cause any grief.
No, that's not the point. The grief would happen if you mouse-click on an item and press S to split the item, but you didn't wait long enough after the click so the item is not yet selected because REAPER is waiting to see if you are going to double-click before executing the single-click.

In any case the discussion is moot because this behavior is extremely unlikely to change.
schwa is offline   Reply With Quote
Old 12-10-2023, 06:24 AM   #8
Coachz
Human being with feelings
 
Coachz's Avatar
 
Join Date: Oct 2010
Location: Charleston, SC
Posts: 12,770
Default

So what you're saying is it's because of the timing that comes with keystrokes that follow a single click. That does present a bit of a problem.

If the average time between double clicks is 250 milliseconds, if I were writing the code I would still have double clicks take precedence over single clicks and force the wait of whatever the length of double clicks is set to before the keystroke would be registered.

In the magical world of Reaper flexibility though you could have a preference to obey double click timing or not. How about that SCHWA? Then everyone could be happy.
Coachz is offline   Reply With Quote
Old 12-10-2023, 06:51 AM   #9
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Even though I'm not happy with the situation, I understand Schwa's argument. There's no elegant way around this.
Even if there's an option, it would affect the left-click modifiers and if the option doesn't exist(as of currently) the double-click is affected.
There's no middle ground and, with the option, would need to check always, if the single click needs to be executed immediately or not.
And since left click happens more often, the devs decided to give that precedence for simplicity.

And given the potential of frustration for people not aware of the fine details to take care of with such an option, I understand it's not coming...
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 12-10-2023, 07:32 AM   #10
Coachz
Human being with feelings
 
Coachz's Avatar
 
Join Date: Oct 2010
Location: Charleston, SC
Posts: 12,770
Default

For those of us who are willing to wait a quarter of a second for the double click to be registered if it exists, it seems like a very workable solution that I posted above. Also if it's a preference the hyperclickers can still have it their way. It's a win-win, what am I missing? The actual left click would not be slowed down only waiting to register a keystroke afterwards and if it's an option it's all good.
Coachz is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:04 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.