Right click to deselect atom

As far as I can tell, there is currently no way to remove individual atoms from a selection made using the Selection Tool?

The whole selection can be cleared by right-clicking on empty space (unless your system has the known bug, in which case a triple-left-click is required) or by using Ctrl+A. I don’t know whether this is universally the case, but on my system I can also deselect everything by left-clicking on any currently selected atom.

What is missing is a way to deselect a single atom but keep the rest of the selection. This makes it very annoying if you are hand-picking a large number of atoms using Shift+Left Click, as selecting a wrong atom by mistake means you have to start all over again.

I suggest that, analogous to other tools where right-click performs the negative or inverse action, that right-clicks while using the Selection Tool do the same as the left-click functions but for deselection, i.e.

  • right-click an atom → the atom is deselected, any other selection remains.
  • shift + right-click or ctrl + right-click → same as without shift or ctrl, but make sure to provide so that if users are holding shift/ctrl to select, the right click still works as expected.
  • double right-click → whole fragment/molecule is deselected.

Sorry, it’s been a busy few days.

Yes, you can absolutely de-select individual atoms. As it says in the tool tip, you can use control-click to toggle an atom on/off or select to add to the selection.

Dunno, I haven’t thought about right-click. The current interaction model is coming from image programs like Photoshop / GIMP in which you use shift to add to the selection and control (command on Mac) to invert the selection.

So I guess the question would be “what does a right click do in other similar programs?”

Ok, I hadn’t realized that ctrl-click works quite that way. That changes things, and the right-click idea then doesn’t make much sense. Forget that.

I will change the tool tip slightly to clarify, as “Use Ctrl to toggle the selection” to me only describes an action performed on the whole selection at once.

In that case I would change only a few things:

  • When clicking a single atom, I think that shift-click should deselect a selected atom the same way ctrl-click does.

    • (I know this technically doesn’t fit the shift=add, ctrl=toggle paradigm, but this matches other programs including ChemDraw, feels natural to me (I was surprised it didn’t do what I wanted when I tried), and means the user doesn’t have to switch from shift to ctrl to undo a mistake.)
  • It’s inconsistent that when some atoms are selected, left-clicking an atom has two different results depending on the selection status of the atom you click:

    1. clicking an unselected atom switches the selection to that atom only;
    2. clicking one of the selected atoms deselects everything

    I think the natural expectation is that whatever atom is left-clicked should always become the selected atom i.e. option 1 for all atoms. This would also match how click-and-drag and double-click works.

  • Pressing Esc should also clear the current selection (same as Ctrl+Shift+A) because Esc typically does the same in other programs.

  • If you really want to match e.g. ChemDraw, it should be left-click on empty space that deselects everything, not right-click.