Mousewheel for everyone !

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

phase
Posts: 83
Joined: Mon Oct 14, 2002 1:59 pm

Mousewheel for everyone !

Post by phase » Wed Oct 23, 2002 6:33 pm

Because i really *love* the mousewheel functionality in Blender
i want to share this feature with everybody before the official
cvs is ready.

Here is a description on how to set it up:
http://www.captainvideo.nl/rob/wheelpatch.txt

Good Luck,

Rob

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Thu Nov 14, 2002 6:38 pm

Hi Rob,

This is very cool -- I have added some extra support
and I just want to make sure this doesn't conflict
with any additional extensions you have done or are
planning

3D windows:

Shift-mousewheel: scroll up/down
Ctrl-mousewheel: scroll left/right
Alt-Shift-mousewheel: rotate up/down
Alt-Ctrl-mousewheel: rotate left/right

2D windows (Ipo, action,etc):

mousewheel: zoom
Shift-mousewheel: scroll up/down (not finished)
Ctrl-mousewheel: scroll left/right (not finished)
Alt-Shift-mousewheel: zoom y only
Alt-Ctrl-mousewheel: zoom x only

Thanks for making the mousewheel support!
Please let me know if any of this conflicts
with your work.

Chris

alltaken
Posts: 109
Joined: Mon Oct 14, 2002 7:08 am

Post by alltaken » Fri Nov 15, 2002 9:06 am

i have been thinking for a long time that a mouse wheel function would be great.

thanks for making it as it will be a wicked addition to blender.


YAY
YAY
I'm proud of you!!! :wink:

phase
Posts: 83
Joined: Mon Oct 14, 2002 1:59 pm

Post by phase » Fri Nov 15, 2002 2:54 pm

Hey Hos,

Thank you for adapting and enhancing the mousewheel support.
I didn't make any new changes to the wheelpatch so your work
is very welcome.

Maybe you/we can come up with an official patch and submit it
to the cvs moderators. It would be nice if this feature got
included in the next official version of Blender.
(Because it sure is wicked. ;) )

Rob.

alltaken
Posts: 109
Joined: Mon Oct 14, 2002 7:08 am

Post by alltaken » Fri Nov 15, 2002 3:10 pm

WICKED :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: VERY WICKED

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Sat Nov 16, 2002 7:08 am

phase wrote:Hey Hos,

Thank you for adapting and enhancing the mousewheel support.
I didn't make any new changes to the wheelpatch so your work
is very welcome.

Maybe you/we can come up with an official patch and submit it
to the cvs moderators. It would be nice if this feature got
included in the next official version of Blender.
(Because it sure is wicked. ;) )

Rob.
It is indeed wicked! (using wings3d spoiled me)
I'll submit this stuff to the official cvs
moderators when the time comes for adding
new features.

Chris

P.S. I Just added text window and file select
support too! :D

animats
Posts: 15
Joined: Fri Nov 08, 2002 8:18 pm

Post by animats » Sat Nov 16, 2002 7:16 pm

Has somebody thought this through? The mouse wheel is too important to be misused. Please, don't blow this opportunity.

The mouse wheel is most powerful when used for 3D editing. When you're in a mode where the mouse moves an object or vertex in the window's plane, the mouse wheel should move it perpendicular to that plane. That way, you can edit in 3D without switching window focus all the time. That gives you real 3D input and editing.

Anything else the mouse wheel does should not interfere with that.

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Sat Nov 16, 2002 9:10 pm

animats wrote:Has somebody thought this through? The mouse wheel is too important to be misused. Please, don't blow this opportunity.

The mouse wheel is most powerful when used for 3D editing. When you're in a mode where the mouse moves an object or vertex in the window's plane, the mouse wheel should move it perpendicular to that plane. That way, you can edit in 3D without switching window focus all the time. That gives you real 3D input and editing.

Anything else the mouse wheel does should not interfere with that.
Hmmm... that does sound nice. I personally think the natural action of
the mousewheel with no modifier keys should be zooming in 3D space as
phase had originally set it up (I like it this way, and this is also consistent
with how wings does it).

Since it is impossible to zoom or scroll when you are in grab mode anyways,
(GKEY mode), the meaning of the mousewheel can be changed when in
this mode. My personal feeling though is that perhaps the user should
also have to press a modifier (perhaps ALT) for the mousewheel to work
in this manner to safeguard against moving stuff when hitting the
mousewheel accidentally.

Thanks for the excellent suggestion -- any others?

Regards,
Chris

phase
Posts: 83
Joined: Mon Oct 14, 2002 1:59 pm

Post by phase » Sat Nov 16, 2002 10:31 pm

Hos wrote:
P.S. I Just added text window and file select
support too!
Eh?? I already had that working :)

Hos
Posts: 185
Joined: Wed Oct 16, 2002 12:06 am

Post by Hos » Sat Nov 16, 2002 11:02 pm

phase wrote:Hos wrote:
P.S. I Just added text window and file select
support too!
Eh?? I already had that working :)
Dang! The cvs tree I am working with
didn't have that support for some reason!

Ah well, at least I learned something redo-ing it!

Chris

phase
Posts: 83
Joined: Mon Oct 14, 2002 1:59 pm

Post by phase » Sun Nov 17, 2002 12:34 am

Hos,

Plz contact me to tune things, there's no need
to reinvent the wheel. (no pun intended)

email: -removed-

Rob
Last edited by phase on Mon Nov 18, 2002 12:44 pm, edited 1 time in total.

animats
Posts: 15
Joined: Fri Nov 08, 2002 8:18 pm

Post by animats » Sun Nov 17, 2002 3:39 am

Hos wrote:
Hmmm... that does sound nice. I personally think the natural action of
the mousewheel with no modifier keys should be zooming in 3D space as
phase had originally set it up (I like it this way, and this is also consistent
with how wings does it).

Since it is impossible to zoom or scroll when you are in grab mode anyways,
(GKEY mode), the meaning of the mousewheel can be changed when in
this mode. My personal feeling though is that perhaps the user should
also have to press a modifier (perhaps ALT) for the mousewheel to work
in this manner to safeguard against moving stuff when hitting the
mousewheel accidentally.
Chris
It's a tough call, but for consistency, whatever lets you scroll/pan with mouse movement probably should let you zoom with wheel movement. Those operations go together. A common operation on complex models is zoom out, pan to new area of interest, zoom back in, so that should be a single smooth operation.

It's worth thinking about supporting scroll/pan while dragging something. If you reach the edge of the window, should scroll/pan occur? When you need to move something precisely a long distance, you end up switching modes too much. That's a good, but hard, interface feature. You don't have to explain it or teach it, you barely have to document it, but it's work to implement.

Is there an experienced user interface designer in the house? We really need an overall design of user interface mods, to keep things from getting too crufty.

Mats78
Posts: 100
Joined: Thu Oct 17, 2002 5:06 pm
Location: Vantaa, Finland

Post by Mats78 » Fri Jan 03, 2003 3:43 pm

Ugh.. can't get this to work =( VC++ 6 gives the following two errors: E:\CVS\blender\source\blender\src\ghostwinlay.c(87) : error C2065: 'GHOST_kButtonMaskWheelUp' : undeclared identifier
E:\CVS\blender\source\blender\src\ghostwinlay.c(89) : error C2065: 'GHOST_kButtonMaskWheelDown' : undeclared identifier

Help me please =)
Thanks

phase
Posts: 83
Joined: Mon Oct 14, 2002 1:59 pm

Post by phase » Fri Jan 03, 2003 4:12 pm

seems like you forgot to add/replace these values...

in \blender\intern\ghost\GHOST_Types.h
replace the enum GHOST_TButtonMask with this one

typedef enum {
GHOST_kButtonMaskLeft = 0,
GHOST_kButtonMaskMiddle,
GHOST_kButtonMaskRight,
GHOST_kButtonMaskWheelUp,
GHOST_kButtonMaskWheelDown,
GHOST_kButtonNumMasks
} GHOST_TButtonMask;

Mats78
Posts: 100
Joined: Thu Oct 17, 2002 5:06 pm
Location: Vantaa, Finland

Post by Mats78 » Fri Jan 03, 2003 8:27 pm

mmmh... actually I did not forget =) I tried it again anyway, took a new copy of GHOST_Types.h and made the modification. But nope.. doesn't work. Same problem - same two errors:

--------------------Configuration: BL_src - Win32 Debug--------------------
Compiling...
ghostwinlay.c
E:\CVS\blender\source\blender\src\ghostwinlay.c(87) : error C2065: 'GHOST_kButtonMaskWheelUp' : undeclared identifier
E:\CVS\blender\source\blender\src\ghostwinlay.c(89) : error C2065: 'GHOST_kButtonMaskWheelDown' : undeclared identifier
E:\CVS\blender\source\blender\src\ghostwinlay.c(215) : warning C4244: 'function' : conversion from 'short ' to 'unsigned char ', possible loss of data
Error executing cl.exe.

blenderpublisher.exe - 2 error(s), 1 warning(s)

thanks again
Mats

Post Reply