Opened 19 months ago

Last modified 19 months ago

#14864 assigned enhancement

RFE: dedicated Z-translation mouse mode

Reported by: Elaine Meng Owned by: Tom Goddard
Priority: moderate Milestone:
Component: UI Version:
Keywords: Cc: olibclarke@…
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

It is too difficult for some of us to use multiple modifier keys especially in the context of a touchpad and pressing-order stipulations. Would be great to have a separate Z-translation mouse mode. I don't think you would have to have this for all current XY-translation options (all, selected, picked). Maybe only for selected model(s). I'm thinking that is better than picked model because you might want to move several models at once but not all of them.

I envision assigning it to middle or right mouse. Default is currently to have both middle and right buttons assigned to scene translation (XY). One of those could be used for selected model Z-translation instead (not by default, but by those who wish to). If there were a right-mouse icon for selected-model Z-translation, it would be relatively easy just by clicking icons to toggle back and forth between that assignment and some other assignment. For some of us, this is easier than multikey presses that need to occur in a certain order.

Feel free to change any settings on this ticket if I guessed them incorrectly.

Change History (6)

comment:1 by Tom Goddard, 19 months ago

I guess there are actually 4 translation mouse modes currently, move everything, move selected models, move model mouse is clicked on, move selected atoms. I agree the most useful is probably move selected models and it would be ok to add a z translation mode just for that one.

The mouse mode toolbar is so long now with 31 icons that I cannot see adding this rarely useful mode to the toolbar. That just pushes the right icons off into a rollover and decreases the visibility and usability of those other modes. If a z translation is not on the toolbar then it becomes especially cumbersome to use since in general when hand moving a specific model you need to translate in xy and rotate it too. But you don't have mouse buttons to assign all those modes. So it seems to me that any use of this z-translation mode is going to entail switching mouse modes probably several times to place a model. While I agree the current double modifier keys to allow doing these placements without switching modes is cumbersome, I think adding a dedicated z-translation is even more cumbersome. Currently switching between translation and rotation requires the shift modifier, and z-rotation takes shift and ctrl (3 modifier keys). So it seems like if the goal is to eliminate the double modifier keys it actually takes 4 different modes. Switching between those modes to use on one mouse button just doesn't seem like an improvement. In actual use I do many placements for fitting atomic models in EM maps and use just two of those modes. I avoid z translation by rotating the whole scene 90 degrees and using x translation. And I likewise avoid z rotation by rotating 90 degrees. So in my real use I need to switch between two modes. Currently those two separate modes (xy translation and xy rotation) are available but I always use the single mode and the shift modifier key to switch between translation and rotation.

In summary, I think there is no good solution to do 6-degree-of-freedom positioning with a 2-degree-of-freedom mouse. While the current behavior with double modifier keys is bad, I think the one requested in this ticket is much worse for most users.

comment:2 by Tom Goddard, 19 months ago

I'll need more convincing to implement a z-translation. Why not rotate 90 degrees and do an x translation and avoid switching mouse modes? The visibility of depth is much better using that method. And is this ticket also intending to do a placement with separate rotation and translation modes which also currently uses the shift key modifier? I could see having 4 separate modes (xy translate, z translate, xy rotate, z rotate) if all of them were available as toolbar icons so switching was just one click, but we don't have toolbar space for that currently, and changing the mode by a typed command seems far too inefficient.

comment:3 by Elaine Meng, 19 months ago

Chimera had a separate Z-translate and some people were asking about it. Personally I thought it was easier to use than this multifinger modifier stuff. But agree to disagree. You suggested I make a ticket but I'm not the one who would be doing the work, so you have veto power.

Last edited 19 months ago by Tom Goddard (previous) (diff)

comment:4 by olibclarke@…, 19 months ago

Hmmm - all I can say is that when I have to do it the way you are suggesting (rotating back and forth), I find it much more cumbersome than the way I do it in Chimera (where I can easily translate in z to adjust as needed). Horses for courses!

In my mind translation is a 3D process - not being able to (easily) translate in z is therefore a limitation - I don't really mind whether it is a separate mousemode or a modifier, just something that works reliably and is not as fragile as the current implementation (which I know works very reliably if used correctly and is accurately and comprehensively described in the docs, I just always have to look it up and try it a couple times before I get it right, which means I don't end up using it...)

In Chimera I have two finger-swipe set to rotation, and ctrl-two finger swipe set to z-translation, and this works well and feels very smooth and natural to me (with three-finger swipe set to x-y translation). I know the architecture and concept of ChimeraX is somewhat different, so I don't expect to replicate it exactly, but personally I would use a Z-translation mouse much more than several of the mousemode options that are already present in the toolbar (which is a reflection of the fact that different people use ChimeraX for different things, and so it's customizability is a strength - the more options the better!). Just my two cents

Cheers
Oli

Last edited 19 months ago by Tom Goddard (previous) (diff)

comment:5 by Tom Goddard, 19 months ago

Some people you have learned Chimera "active" check buttons find it harder to use ChimeraX mouse modes to do the same thing. The two methods have their strengths and weaknesses. The description you give of the modes you use in Chimera will not work in ChimeraX because ChimeraX does not have the "active" checkbuttons. The active checkbuttons allow you to change from moving all models to moving just selected models. If you have 3 mouse buttons with rotation, xy translation and z translation then with one checkbutton click you change all 3 modes. Because the "active" buttons don't exist in ChimeraX and it is still desirable to be able to rotate/translate all models or only a subset of models ChimeraX has the unpleasant mechanism of using various modifier keys. I agree that remembering how to use that is less transparent than the Chimera method with always visible "active" checkbuttons. In my experience ChimeraX allows doing placements with much less tedium because I can rotate and translate all or selected models without clicking any checkbuttons. But that comes at the cost of having to know these magic modifier keys. In an ideal world we would have both the easy to remember way to do it (Chimera) and the less tedious way to do it (ChimeraX). But we don't have the programming time to implement things in different ways for different users, so we have to guess what will best serve. I'm not sure in this case if ChimeraX or Chimera does it better. What is proposed in this ticket seems significantly worse than Chimera and ChimeraX. The mouse modes toolbar is not customizable. While I know most of the icons on it may not be useful to you, we have not had the time to allow customizing which are shown.

comment:6 by Tom Goddard, 19 months ago

Regarding the 90 degree rotation method of doing a z translation. The screen is of course 2D, not 3D and so moving in Z causes only subtle visual changes. Rotating 90 degrees makes the spatial positions of models along the z axis apparent. I know the subtle z motion visual changes are sometimes sufficient, but when I use that I find I always need to rotate 90 degrees to check the result.

Note: See TracTickets for help on using tickets.