#14743 closed defect (not a bug)
Unreliable Z translation in mouse mode
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | UI | Version: | |
Keywords: | Cc: | Elaine Meng | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-14.3.1-arm64-arm-64bit ChimeraX Version: 1.8.dev202403091657 (2024-03-09 16:57:27 UTC) Description Z-translation does not work reproductibly (see discussion today on chimeraxbb and this video: https://www.dropbox.com/scl/fi/vds0cwu0zizclg64vlxqc/z_translate_bug.mov?rlkey=md4320j5vvjrwgwkkd6rae8a5&dl=0 Log: > runscript /Users/oc2188/Dropbox/chimera_startup/chimerax_startup.py > camera ortho > cofr centerOfView > mousemode alt rightMode "contour level" > mousemode rightMode clip > mousemode alt leftMode "translate selected models" > mousemode shift leftMode "rotate selected models" > mousemode alt control leftMode "pick blobs" > alias cofron cofr centerofview showpivot 7,0.25 > alias cofroff cofr centerofview showpivot false > alias symclip cofr centerofview; clip near -$1 far $1 position cofr > alias cootmode set bgColor black; surface cap false; surface style solid; > lighting flat; graphics silhouettes false; style stick; ~rib; color > ##num_residues gold; color byhet ; disp; ~disp @H*; style ions ball; style > solvent ball; size ballscale 0.2; size stickradius 0.07; transparency 70; > cofr centerofview; clip near -10 far 10 position cofr; color ##~num_residues > cornflower blue > alias cootmode_mesh surface cap false; surface style mesh; lighting flat; > graphics silhouettes false; style stick; ~rib; color ##num_residues gold; > color byhet ; disp; ~disp @H*; style solvent ball; style ions ball; size > ballscale 0.2; size stickradius 0.07; cofr centerofview; clip near -10 far > 10 position cofr; color ##~num_residues #3d60ffff; transparency 50 > alias project_map set bgColor black; lighting depthcue false; volume $1 > style image sdlevel 0,0 color white sdlevel 100,0.15 color white > projectionmode 3d maximumIntensityProjection false dimTransparentVoxels > false btcorrection true showOutlineBox false linearinterpolation true > alias ca_and_sidechains ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1; > disp @P&nucleic&$1; style $1 stick; disp sidechain&$1; disp > ~backbone&nucleic&$1; size stickradius 0.1; size pseudobondradius 0.1 > alias ca_trace ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1; disp > @P&nucleic&$1; style $1 stick; size stickradius 0.1; size pseudobondradius > 0.1 > alias map_sphere_15 volume unzone ##~num_residues; sel; close #10000; marker > #10000 position cofr; sel ~sel; volume zone ##~num_residues nearAtoms sel > minimalBounds true range 15; close #10000 > alias map_unsphere volume unzone ##~num_residues > alias default_mol_display ~disp; rib; rainbow chain palette RdYlBu-5; > lighting soft > alias hidemaps surface unzone ##~num_residues; sel; close #10000; marker > #10000 position cofr; sel ~sel; surface zone ##~num_residues nearAtoms sel > distance 0; close #10000 > alias showmaps surface unzone ##~num_residues > alias caps_off surface cap false > alias caps_on surface cap true > alias open_vseries "open browse vseries true" > alias selbetween ks ri > alias helix setattr $1 res is_helix true > alias strand setattr $1 res is_strand true > alias coil setattr $1 res is_strand false; setattr $1 res is_helix false > alias rock_movie cofr showpivot false; movie record; rock y 30; wait 136; > movie encode ~/Desktop/rock_movie.mp4; stop > buttonpanel Shortcuts rows 3 columns 5 > buttonpanel Shortcuts add Vol_Viewer command "tool show 'Volume Viewer'" > buttonpanel Shortcuts add Model_Panel command "tool show Models" > buttonpanel Shortcuts add Log command "tool show Log" > buttonpanel Shortcuts add default_disp command default_mol_display > buttonpanel Shortcuts add map_sphere command map_sphere_15 > buttonpanel Shortcuts add map_unsphere command map_unsphere > buttonpanel Shortcuts add cofron command cofron > buttonpanel Shortcuts add cofroff command cofroff > buttonpanel Shortcuts add cootmode command cootmode > buttonpanel Shortcuts add mark_cofr command "marker #20000 position cofr" > buttonpanel Shortcuts add hidemaps command hidemaps > buttonpanel Shortcuts add showmaps command showmaps > buttonpanel Shortcuts add reset_mouse command "mousemode alt right contour ; > mousemode right clip ; mousemode alt left 'translate selected models' ; > mousemode shift left 'rotate selected models' ; mousemode alt control left > 'pick blobs'; help https://github.com/olibclarke/chimerax- > trimmings/blob/main/default_mousemodes.md" > buttonpanel Shortcuts add previous_model command prevmodel > buttonpanel Shortcuts add next_model command nextmodel > volume defaultvalues limitVoxelCount false voxelLimitForPlane > 1000000000000000 voxelLimitForOpen 1000000000000000 saveSettings true Saved volume settings UCSF ChimeraX version: 1.8.dev202403091657 (2024-03-09) © 2016-2024 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 1bl8 1bl8 title: Potassium channel (KCSA) from streptomyces lividans [more info...] Chain information for 1bl8 #1 --- Chain | Description | UniProt A B C D | PROTEIN (POTASSIUM CHANNEL PROTEIN) | KCSA_STRLI 23-119 Non-standard residues in 1bl8 #1 --- K — potassium ion > cofron > marker #20000 position cofr > select #20000/M:1@M 1 atom, 1 residue, 1 model selected > ui tool show "Side View" > view matrix models #20000,1,0,0,1.4133,0,1,0,0.63052,0,0,1,-1.3225 > view matrix models #20000,1,0,0,0.25031,0,1,0,3.3439,0,0,1,-1.2716 > view matrix models #20000,1,0,0,0.13636,0,1,0,3.6097,0,0,1,-1.2667 > select #1/D:36 8 atoms, 7 bonds, 1 residue, 1 model selected > select up 166 atoms, 166 bonds, 25 residues, 1 model selected > select up 705 atoms, 724 bonds, 97 residues, 1 model selected > select up 2824 atoms, 2896 bonds, 392 residues, 1 model selected Drag select of 6 residues > select up 542 atoms, 546 bonds, 79 residues, 1 model selected > select up 1410 atoms, 1448 bonds, 194 residues, 1 model selected > select up 2824 atoms, 2896 bonds, 392 residues, 1 model selected > view matrix models #1,1,0,0,3.5787,0,1,0,-8.3498,0,0,1,-0.15657 OpenGL version: 4.1 Metal - 88 OpenGL renderer: Apple M2 Max OpenGL vendor: Apple Python: 3.11.4 Locale: UTF-8 Qt version: PyQt6 6.6.1, Qt 6.6.1 Qt runtime version: 6.6.2 Qt platform: cocoa Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: Mac14,5 Model Number: Z17J00171LL/A Chip: Apple M2 Max Total Number of Cores: 12 (8 performance and 4 efficiency) Memory: 64 GB System Firmware Version: 10151.81.1 OS Loader Version: 10151.81.1 Software: System Software Overview: System Version: macOS 14.3.1 (23D60) Kernel Version: Darwin 23.3.0 Time since boot: 11 days, 16 hours, 23 minutes Graphics/Displays: Apple M2 Max: Chipset Model: Apple M2 Max Type: GPU Bus: Built-In Total Number of Cores: 30 Vendor: Apple (0x106b) Metal Support: Metal 3 Displays: Color LCD: Display Type: Built-in Liquid Retina XDR Display Resolution: 3024 x 1964 Retina Main Display: Yes Mirror: Off Online: Yes Automatically Adjust Brightness: Yes Connection Type: Internal Installed Packages: alabaster: 0.7.16 appdirs: 1.4.4 appnope: 0.1.4 asttokens: 2.4.1 Babel: 2.14.0 beautifulsoup4: 4.12.3 blockdiag: 3.0.0 blosc2: 2.0.0 build: 1.1.1 certifi: 2023.11.17 cftime: 1.6.3 charset-normalizer: 3.3.2 ChimeraX-AddCharge: 1.5.16 ChimeraX-AddH: 2.2.5 ChimeraX-AlignmentAlgorithms: 2.0.1 ChimeraX-AlignmentHdrs: 3.4.3 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.12.5 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.1.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.54.6 ChimeraX-AtomicLibrary: 14.0.2 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.4 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.1.2 ChimeraX-BondRot: 2.0.4 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.12.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2.2 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.4 ChimeraX-ChangeChains: 1.1 ChimeraX-CheckWaters: 1.4 ChimeraX-ChemGroup: 2.0.1 ChimeraX-Clashes: 2.2.4 ChimeraX-ColorActions: 1.0.3 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.5 ChimeraX-CommandLine: 1.2.5 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.8.dev202403091657 ChimeraX-CoreFormats: 1.2 ChimeraX-coulombic: 1.4.3 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.3 ChimeraX-Dicom: 1.2 ChimeraX-DistMonitor: 1.4.2 ChimeraX-DockPrep: 1.1.3 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.3 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.2 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-IUPAC: 1.0 ChimeraX-Label: 1.1.9 ChimeraX-ListInfo: 1.2.2 ChimeraX-Log: 1.1.6 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.9.1 ChimeraX-Map: 1.1.4 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0.1 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.2 ChimeraX-MatchMaker: 2.1.3 ChimeraX-MCopy: 1.0 ChimeraX-MDcrds: 2.7 ChimeraX-MedicalToolbar: 1.0.2 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.12.2 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.15 ChimeraX-ModelPanel: 1.5 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0.3 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.2 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nifti: 1.1 ChimeraX-NMRSTAR: 1.0.2 ChimeraX-NRRD: 1.1 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.13.3 ChimeraX-PDB: 2.7.5 ChimeraX-PDBBio: 1.0.1 ChimeraX-PDBLibrary: 1.0.4 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1.1 ChimeraX-PubChem: 2.1 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.2 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.2.1 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.2 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 4.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0.2 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-Segmentations: 1.0 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.11.2 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.3 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1.2 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.16.2 ChimeraX-STL: 1.0.1 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.2 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0.1 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.5 ChimeraX-TapeMeasure: 1.0 ChimeraX-TaskManager: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.4 ChimeraX-Topography: 1.0 ChimeraX-ToQuest: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.36.1 ChimeraX-uniprot: 2.3 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.3.2 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-vrml: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.2 ChimeraX-WebServices: 1.1.3 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.1 contourpy: 1.2.0 cxservices: 1.2.2 cycler: 0.12.1 Cython: 3.0.8 debugpy: 1.8.1 decorator: 5.1.1 docutils: 0.20.1 executing: 2.0.1 filelock: 3.13.1 fonttools: 4.49.0 funcparserlib: 2.0.0a0 glfw: 2.7.0 grako: 3.16.5 h5py: 3.10.0 html2text: 2020.1.16 idna: 3.6 ihm: 0.43 imagecodecs: 2024.1.1 imagesize: 1.4.1 ipykernel: 6.29.2 ipython: 8.21.0 ipywidgets: 8.1.2 jedi: 0.19.1 Jinja2: 3.1.3 jupyter-client: 8.6.0 jupyter-core: 5.7.1 jupyterlab-widgets: 3.0.10 kiwisolver: 1.4.5 line-profiler: 4.1.2 lxml: 5.1.0 lz4: 4.3.3 MarkupSafe: 2.1.5 matplotlib: 3.8.2 matplotlib-inline: 0.1.6 msgpack: 1.0.8 ndindex: 1.8 nest-asyncio: 1.6.0 netCDF4: 1.6.5 networkx: 3.2.1 nibabel: 5.0.1 nptyping: 2.5.0 numexpr: 2.9.0 numpy: 1.26.4 openvr: 1.26.701 packaging: 23.2 ParmEd: 4.2.2 parso: 0.8.3 pep517: 0.13.1 pexpect: 4.9.0 pillow: 10.2.0 pip: 24.0 pkginfo: 1.10.0 platformdirs: 4.2.0 prompt-toolkit: 3.0.43 psutil: 5.9.8 ptyprocess: 0.7.0 pure-eval: 0.2.2 py-cpuinfo: 9.0.0 pycollada: 0.8 pydicom: 2.3.0 pygments: 2.17.2 pynmrstar: 3.3.3 pynrrd: 1.0.0 PyOpenGL: 3.1.7 PyOpenGL-accelerate: 3.1.7 pyopenxr: 1.0.3302 pyparsing: 3.1.2 pyproject-hooks: 1.0.0 PyQt6-commercial: 6.6.1 PyQt6-Qt6: 6.6.2 PyQt6-sip: 13.6.0 PyQt6-WebEngine-commercial: 6.6.0 PyQt6-WebEngine-Qt6: 6.6.2 python-dateutil: 2.8.2 pytz: 2024.1 pyzmq: 25.1.2 qtconsole: 5.5.1 QtPy: 2.4.1 RandomWords: 0.4.0 requests: 2.31.0 scipy: 1.12.0 setuptools: 69.1.1 setuptools-scm: 8.0.4 sfftk-rw: 0.8.1 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 soupsieve: 2.5 sphinx: 7.2.6 sphinx-autodoc-typehints: 2.0.0 sphinxcontrib-applehelp: 1.0.8 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.6 sphinxcontrib-htmlhelp: 2.0.5 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.7 sphinxcontrib-serializinghtml: 1.1.10 stack-data: 0.6.3 superqt: 0.6.1 tables: 3.8.0 tcia-utils: 1.5.1 tifffile: 2024.1.30 tinyarray: 1.2.4 tornado: 6.4 traitlets: 5.14.1 typing-extensions: 4.10.0 tzdata: 2024.1 urllib3: 2.2.1 wcwidth: 0.2.13 webcolors: 1.13 wheel: 0.42.0 wheel-filename: 1.4.1 widgetsnbextension: 4.0.10
Change History (13)
comment:1 by , 20 months ago
Cc: | added |
---|---|
Component: | Unassigned → UI |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Unreliable Z translation in mouse mode |
comment:3 by , 20 months ago
This comment should go before the previous one! I tried to include both in the previous comment but Trac nuked this part. Grr. On Mar 11, 2024, at 2:36\u202fPM, Elaine Meng <meng@cgl.ucsf.edu> wrote: The documentation does say "assigned button + Ctrl (in that order)" so if XY-translation is assigned to alt-left, you have to be sure to press alt-left (or alt-trackpad click) and then Ctrl. That is the same as ongoing drag but if you are coordinated, there is no dragging motion between when you press left (trackpad click) and when you press Ctrl. I tried it very carefully just now and that is true. I believe when Tom originally explained it on this list, he did say it was very important to press the keys in that order, not all at once. Elaine
comment:4 by , 19 months ago
In order to move the selected model in z after enabling the Move Models mouse mode in the toolbar on Mac with the trackpad you need to press the Command key, press the trackpad, then press the ctrl key, and drag vertically. This works 100% of the time in my tests. My guess is you are instead pressing Command, then pressing Ctrl, then pressing the trackpad, then dragging. That 100% of the time gives a drag selection box. The trackpad press must be done before the ctrl key is pressed.
I realize this is confusing and idiotic. It is a limitation of the Mac trackpad and Qt window toolkit. On a Mac if you hold the ctrl key while pressing the left mouse button or the trackpad Qt reports it as the right mouse button. ChimeraX has no way to distinguish ctrl-left mouse click from ctrl-right mouse click -- it always is reported as ctrl-right. But ChimeraX uses ctrl-left-click for selection (historically this was so in predecessors of ChimeraX for more than 40 years), so how can this work on the Mac? The answer is if a ctrl right click is reported to ChimeraX on Mac then it is assumed to be a ctrl-left click. As a consequence ctrl-right mouse click on Mac will never be interpreted as a right click. For clicks on a trackpad Qt also reports ctrl click as a right click which ChimeraX reinterprets as ctrl-left click.
In summary this is a Mac-specific limitation. I suspect if we were using the native Mac window toolkit instead of Qt we would be able to distinguish ctrl-left and ctrl-right mouse clicks and avoid this limitation. But we use the Qt window toolkit so that we do not have to program the user interface on Mac, Windows and Linux using three separate window APIs.
comment:5 by , 19 months ago
Resolution: | → not a bug |
---|---|
Status: | assigned → closed |
The ctrl key must be pressed after the trackpad click on the Mac to get z-translation. And the drag should be in the vertical direction, not horizontal.
We will note this in the documentation. Also the documentation should note the related limitation on Mac that assigning any mouse mode to ctrl-right does not work because ctrl-right is always be interpreted as ctrl-left on Mac.
comment:6 by , 19 months ago
OK, in the documentation of mousemode functions (mousemode command and Right Mouse toolbar) I changed all "Z-translation" to "Z-translation with vertical drag" except where it was in reference to the mouse wheel. I resisted adding this before because I thought people would just figure this out when they tried dragging, and the description sentences were already quite complex.
Re the warning that Ctrl-right can't be used on Mac, there is already a light gray boxed warning about this near the top of the "mousemode" command docs. It's been there a while, don't remember how long:
<https://rbvi.ucsf.edu/chimerax/docs/user/commands/ui.html#mousemode>
comment:7 by , 19 months ago
Thanks for looking at the documentation.
I'm not sure how to clarify in the documentation the issue from this ticket that the order has to be click+Ctrl, not Ctrl+click. Currently the mouse mode documentation says
"assigned button + Ctrl (in that order)"
which does not make it entirely clear that Command-click-Ctrl is needed and Command-Ctrl-click won't work (on Mac). Maybe changing it to
"press assigned mouse button and then Ctrl (in that order)"
or another more explicit wording would help.
comment:8 by , 19 months ago
I'm kind of flabbergasted that "assigned button + Ctrl (in that order)" could possibly mean anything other than that Ctrl has to be pressed last.
However, I just changed all the occurrences of "(in that order)" to "(where Ctrl must be pressed last)" in hopes that that is obvious enough.
comment:9 by , 19 months ago
Agree it should be obvious the way it was originally, but it is unusual behavior for a keyboard shortcut so I think (over)emphasizing it probably doesn't hurt :)
Might also be worth mentioning that one has to use the mouse vertically (rather than right-left) for Z translation to happen (as this is not the case in "old" Chimera)?
Cheers
Oli
comment:11 by , 19 months ago
I think the ambiguity with "assigned button + Ctrl (in that order)" is that there are 3 "buttons" involved when the toolbar is used to assign the mode and the trackpad is used, ie the Command key, the Ctrl key and the trackpad click. It is easy to interpret the documentation as saying press Command and then Ctrl and then click the trackpad by thinking the "assigned button" part means the Command key rather than Command + trackpad click. People probably don't think of the trackpad click as a "button".
At any rate, using multiple modifier keys and trackpad clicks is something almost no software does and for good reason. If we are going to use such a flakey uncommon user interface it is sensible that we explain it as explicitly as possible.
comment:12 by , 19 months ago
It might be better (or useful in addition to this mechanism) to have a separate mode just for Z-translation, like we had in Chimera. Our friend Simon (former UCSF grad student) was asking Eric about this recently. Some of us, looking at myself here, are not good at using multiple modifier keys at once, even when they aren't press-order-dependent.
comment:13 by , 19 months ago
I agree separate Z translation modes may be useful. There are 3 translation mouse modes (all models, selected models, selected atoms) so it would need 3 different new z translation modes. I suspect they are going to be rarely used because there are not enough mouse buttons to dedicate one to z-translation. At any rate, it is a separate issue from this report so it would be good to make a new feature request / bug report for it. And it would also be good in that new ticket to describe what combination of mouse bindings would actually allow using a separate dedicated z-translation mode given the limited mouse buttons available so it is clear how it could be useful.