I have a mode button in menu of zoom tools on a desktop application. With the button you can change the mode of the cursor between select, zoom in, zoom out, and pan.
When you hold the button down, a small pop-up menu lets you choose between the options. This is similar to Adobe Photoshop or similar programs: left click give you the tool and hold-down or right-click gives you the neighboring options.
So the thing is I want to build in what could be called "feed-forward". Since you are always in a mode anyway, I want to show which other options are available. When you are in select-mode the button shows a zoom-button. When you are in any other mode the button show an arrow cursor for select mode. Zoom and Select are the most common modes.
Test users are confused that they are not shown the mode they are currently IN, but the mode they can change TO. Feedforward instead of feedback.
So the question is: Should I do as users expect (killing my darling), or should I implement the more usable idea which would give the user fewer mouse clicks in daily operation.