Author Topic: RMB  (Read 981 times)

bdeck

  • Hero Member
  • *****
  • Posts: 881
RMB
« on: October 24, 2015, 04:15:42 PM »
Design Cad requires the user to choose between two functionalities of the Right Mouse Button.

I have always kept it set to gravity.

But why not have both?
 
A) Clicking the RMB should initiate gravity snap.
B) Pressing and holding the RMB for a given interval should display the point menu (at least in the midst of a draw command).

The point menu may be a simple context menu, which selects by release of the RMB, or it may persist until a function is chosen by a lmb click or esc.  Not sure which implementation I prefer. Either would be an improvement. Anyone else?

BD

PS: The present implementation improperly prevents the point menu from displaying (even in the midst of a draw command) if any entities are selected.  That should be fixed.
« Last Edit: October 24, 2015, 06:46:41 PM by bdeck »

samdavo

  • Hero Member
  • *****
  • Posts: 2588
  • the trick is knowin...^ > v < - which way's up?
Re: RMB
« Reply #1 on: October 24, 2015, 08:17:45 PM »
BD
You clearly know this already lol, but I'll mention it anyway.
a) If you set the right click to gravity, then
b) (Ctrl+right click) gives the menu (and Point Control is the bottom option on that menu),
c) and if that's too many clicks, the just set a hotkey ( say J ) to give you point control.

cheers
(2 cents)

JJG

  • Hero Member
  • *****
  • Posts: 735
Re: RMB
« Reply #2 on: October 24, 2015, 11:25:36 PM »
Sam is right.
Since I have changed of employer, I now use TopSolid at work (and of course, sometimes DesignCad too, when it is quickly and easier for ... what is ultimately often the case, to the amazement of my colleagues)
In TopSolid, there is some implementation of the RMB in the direction that BD is thinking, but it's not the best thing they have did ... most of the time it leads you to do things you would not want ...
Also, having to had to press one key more is, in my point of wiew, better.
 ;)

Dr PR

  • Hero Member
  • *****
  • Posts: 5596
Re: RMB
« Reply #3 on: October 25, 2015, 08:27:18 AM »
BD,

The problem with what you are suggesting is how long is long enough?

Right now the action of pressing and releasing the right mouse button is unambiguous. Regardless of the time interval between the two actions you always get the same result.

But if you create two actions for the same set of operations you set up a potentially confusing situation. The delay between press and release is an arbitrary interval. How long should it be so that people who normally press and release the button slowly do not accidentally trigger the wrong function?

****

Personally, I find such "hold long enough but not too long" requirements to be a very annoying bad design. I had a Ford/Mazda that had the cruise control buttons on the steering wheel. Consequently, there was a danger that the driver might accidentally press one of the buttons and cause the car to accelerate when the intention was to do something like press the horn button. The answer to this problem was to require the driver to press any cruise control buttons "long enough" so it would not be an accidental button press. That made the cruise control very unpredictable and slow to use.

For example, the "press to accelerate" and "press to decelerate" buttons had to be held down for some unspecified time before they took effect. You were supposed to be able to press the buttons once to increase/decrease the speed a small amount (1 mph) but that was almost impossible. Either you didn't hold it long enough and nothing happened or you held it too long and the car changed speed  several mph. You could not use the buttons to make fine adjustments to the car's speed. It was a horrible design!

In contrast, a Camaro that I owned had the cruise control buttons on a separate lever behind the steering wheel. Since there was no danger of accidentally pressing a button, just a simple quick key press was all that was needed. I could press the "accelerate" button once and the car accelerated exactly 1 mph. Press it five times quickly and the car accelerated exactly 5 mph. I have a Toyota that works the same way - with the buttons on a separate lever. And it also allows me to have precise control of the speed.

I have an old digital clock that as dual function buttons, and it also is really annoying. To advance the time one increment you press and release a button. To get it to automatically advance without having to press the button repeatedly you hold the button down. But sometimes when I press the button to advance by one minute/hour I hold it a bit too long and the damned thing advances two or three increments. Then I have to press and hold while the damned thing advances a full minute or 24 hours to get back to where I started. In this case "how long" is too short.

****

Right now the DesignCAD right mouse button operation is unambiguous. Press once - for any amount of time - to do one thing. Hold down the CTRL key and press the right button once - for any amount of time - to do another thing. No need to guess how long "long enough" is.

****

This may be a moot argument.

With the standard PC keyboard operation pressing a key sends one key code and releasing it sends another. But does the standard mouse key definition have separate key pressed and key released codes? Or is it just a simple strobe indication that the button has been pressed far enough to activate the switch?

If there are not separate mouse "button down" and "button up" signals what you are asking for cannot be done.

Phil
DesignCAD user since 1987