Dynamically binding by pointer hover

If you have questions or comments concerning any non-support related 3Dconnexion topic, please use this forum.

Moderator: Moderators

Post Reply
Hypersonic
Posts: 265
Joined: Mon Jul 12, 2010 5:58 pm

Dynamically binding by pointer hover

Post by Hypersonic »

Are there any applications that currently do this?

Instead of 'permanently' binding a 3dmouse to certain sliders and knobs in a application, have it dynamically bind.

Hover the pointer near a slider on the screen (then use 3dmouse to very quickly and precisely move it up and down, or side to side)
Hover the pointer near a knob then use 3dmouse to very quickly and precisely turn it clockwise-counter clockwise.
Hover over a webpage and smoothly pan horizontally and vertically, maybe even zoom in and out smoothly.

It would be a great way to quickly adjust a digital soundboard with dozens of knobs and sliders, faster/more precise than with just a 2dmouse.
Small movements are difficult with a 2dmouse because of the transition from 'static' to 'dynamic' friction isn't easy to work with.
Whole sections of sliders could be quickly moved by holding forward on the 3dmouse while steadily moving the pointer across them.
The 2d mouse can quickly select an object to manipulate by simply hovering the pointer near it, then the 3dmouse can quickly adjust it.

No clicking neccesary!

If there aren't any apps like this, maybe the sliders in the 3DConnexion properties app could be the first!
The 3DMouse, a great tool even in 2D apps!
Phil999
Posts: 425
Joined: Tue Jun 30, 2009 5:20 am

Post by Phil999 »

that would be a good idea for sound design, but also for compositing/video applications that sometimes also have arrays of sliders.

I believe there is a hardware device (external audio card + MIDI controller) from Steinberg that features an encoder that behaves like you describe. When you hover with your mouse pointer over a parameter, you can edit it with the encoder. I never used it, but I like the idea.

3dx devices with options for such a 'dynamic' binding would be a very good improvement I think.
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

Good idea. I like it.
Phil999
Posts: 425
Joined: Tue Jun 30, 2009 5:20 am

Post by Phil999 »

the Blender plugin was a bit special in that regard, if you had 4 viewports, the one with the mouse pointer over it was active. As soon as you moved the mouse, the cap was controlling the new viewport.

Jim, is it difficult to bring this option into the driver? I find it sometimes difficult to pick the sliders in various applications. This hovering thing would be really nice I think. Maybe you can test it?
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

Phil999 wrote:the Blender plugin was a bit special in that regard, if you had 4 viewports, the one with the mouse pointer over it was active. As soon as you moved the mouse, the cap was controlling the new viewport.
That's the way all the applications should work, unless the ISV has established a "click to switch focus" model for his application. Perhaps it could also be a user preference. I did experiment with that earlier in 3DxWare 10 development. It was confusing for general window system usage -- so now I make you bring a window into focus. It makes sense for multiple viewports in a single window.
Phil999 wrote:Jim, is it difficult to bring this option into the driver? I find it sometimes difficult to pick the sliders in various applications. This hovering thing would be really nice I think. Maybe you can test it?
Well, let's see. First we have to find the controls that are "in the vicinity". Then we have to send them appropriate data. Not too much work. It can be done now if someone wants to write code, because you can always redirect the device data to a DLL function, like we do for ZBrush. That DLL function can implement all this intelligence. ...No, I don't have time to do that now...but perhaps you have some friends...it's an open interface.
Hypersonic
Posts: 265
Joined: Mon Jul 12, 2010 5:58 pm

Post by Hypersonic »

I've forgotten about mouse wheel variable speed adjustment, there's not just keyboard 1speed and left click drag with pointer.

I just realized Itunes has hover over to select for mouse wheel manipulation. The volume and music list don't need to be clicked, just hover over with the pointer and use mouse wheel.

Though manipulating knobs and horizontal sliders aren't as intuitive with a vertical mouse wheel as it would be with a 3d mouse. Also a mouse wheel is only 1 axis. Also you can't continuous move it, your finger can only spin it so far until you have to reset the position of your finger (unless it has low friction and you keep 'pecking' at it with your finger, but that could get on your nerves after awhile.)

I suppose X,Y, and Rz would all be set to mousewheel control to cover vert, horz, and knobs. But just when interacting with those objects, then switch back when interacting with say a 3dmodel (but how could the driver know what is selected in the application?) Maybe apps and the OS would need to become aware of 3dmouse as another source of input to sliders.
Phil999
Posts: 425
Joined: Tue Jun 30, 2009 5:20 am

Post by Phil999 »

true, the mouse wheel works similarily in certain applications, in Windows rather rarely. It is more prominent in Mac applications.

For 3D applications where the axis are assigned to 3D movement, I would leave out the dynamic thing. Too confusing for the user, although it could be useful for floating windows. The rule would be the same: use value inc/dec when the mouse pointer hovers over a parameter, use 'normal' 3D mouse action when hovering over a viewport.
Maybe apps and the OS would need to become aware of 3dmouse as another source of input
this is probably best answered by a programmer. I guess it is the 3dxWare driver that makes the OS and the application recognise the additional input. Then there is some kind of generic Human Input Device built in the OS, to which the driver can send data. Something like that. What I really love is that you can input 3dx device and mouse simultaneously. Mouse and 3D mouse use different methods.
jwick wrote:First we have to find the controls that are "in the vicinity". Then we have to send them appropriate data. Not too much work. It can be done now if someone wants to write code, because you can always redirect the device data to a DLL function, like we do for ZBrush. That DLL function can implement all this intelligence. ...No, I don't have time to do that now...but perhaps you have some friends...it's an open interface.
I feared you would say this. But of course I understand. And beta10 is already brilliant as it is (I use beta10 on all my machines now; still recreating profiles because I don't want to use the old ones). But there are some people here in the forum I guess that are capable to do such things.
jwick
Moderator
Moderator
Posts: 3338
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Post by jwick »

Could one of you post an image(s) of the sort of interface you want to control? Something like an audio editing panel that has a lot of knobs and sliders. You could lasso the controls you wanted to "group" to control together with the 3D mouse.
Hypersonic
Posts: 265
Joined: Mon Jul 12, 2010 5:58 pm

Post by Hypersonic »

I like the idea of lassoing a group of controls, I was thinking of some possibilities like:

-------------------------------
operate multimedia like a pro!

Adding simultaneous analog controls to audio-visual applications, Such as Apple Itunes-Quicktime, and Cyberlink PowerDVD
Even mutli-media editing programs.

(like the collage demo and Google Earth, but disabling rotations, and with controls moving self relative to the image)
X pan left and right
Y pan up and down
Z zoom in and out
Rx (perhaps brightness control)
Ry playback control (forward or reverse): low pressure for frame advance, hard pressure for fast forward, let-go to play or pause
Rz volume (spin the knob for volume control)

Some movies are 'full screen' that come with pre-determined pan and zoom.
With this option you can pan and zoom your own movie in real time (from a 'widescreen' movie)
Also pan and zoom allows a user to see detail of video/photos whose resolutions exceed the monitor.
Today's new cameras take photos that have much greater resolution than the typical monitor.

This would be a great addition to the http://www.logitech.com/en-us/smartTV/revue as well, for use while kicking back relaxing on the couch watching the big screen TV.

-----------------------
create new sounds! (without moving a pointer, clicking, adjust the value, unclick, rinse, repeat to the next value)

X pan left and right (the sound cursor along the timeline)
Y pan up and down (along the amplitude of the wave)
Z zoom in and out (alter the scale of both the wave amplitude and window of time)
Rx alter the soundwave where the sound cursor is located
Ry
Rz

-----------------------
create new colors! (without moving a pointer, clicking, adjust the value, unclick, rinse, repeat to the next value)

X Red
Y Green
Z Blue
Rx Hue
Ry Saturation
Rz Luminance

-------------------------------
drum like a rockstar!

X tap it right for bass, tap it left for snare
Y tap it forward for xylophone, tap it backward for cymbals

the harder it is tapped the louder each sound is
(of course not too hard, to not damage the device!)
----------------------
Some possible slogans

Analog your digital world!
like the current slogan 'Navigate your 3d world'

When you say jump, we say 'how high?'
not just push button, but how much to push the button
Phil999
Posts: 425
Joined: Tue Jun 30, 2009 5:20 am

Post by Phil999 »

I think of interfaces like this

Image

Image

Image

the knobs are either moved with mouse up/down or mouse rotate (around the center of the knob). It differs from plugin to plugin, some can be changed in the preferences. Then there are NLE's with all their plugins, the compositing and grading applications, etc. They are sometimes a bit difficult to set. Some have the option where you can select a number and increase/decrease that value with the up/down keys. Highlight a lower decimal for finer adjustments. That would be nice to hover over a value box and edit with the pressure sensitive cap.

Image

Image

sometimes there are different kinds of controls in the same UI. Rotating knobs, value boxes, sliders . . .

Image

. . . and X-Y fields/joysticks. They can also be tricky with the mouse. I'm curious how it would work with the cap. Generally, I think the speed inc/dec buttons on the device would be used much more (I hardly ever use them now), so that even very fine colour controls could be possible when needed. Given the computer is fast enough to display in real-time, this could lead to a very good colour grading/video editing experience.

Image


if this is implemented some day, I imagine that there would be more options to choose when you select 2D mouse in the driver. A checkbox for 'Mouse Pointer Position Awareness', and checkboxes for x-axis, y-axis, x+y-axis, and rotation emulation. Multiple choices should be possible for those UI's with mixed types of controls. And for situations like a DAW that hosts countless plugins. The driver sees the DAW application, not the many different plugins with different UI's we use. Maybe it's even better to make only one checkbox and let the user intuitively discover the mouse hover thing. If there's a horizontal slider, move the cap left/right. If there's a vertical slider, move forward/backwards. If there's a knob, rotate the cap.

Maybe it would be a good idea for a toggle. The user could map a button to the 'Mouse Pointer Position Awareness' toggle and switch it on and off. Like the dominant axis, rotation on/off, etc. A display icon would be nice, but a short text display (as with every button press) is enough.
Post Reply