I'm working a specialized paint web application (for designing Minecraft structures). I would like for the user to be able to assign different tools to the left and right mouse buttons. (I don't intend to override the default right-click behavior other than this.)

I have a traditional tool palette. I've been experimenting with a way to indicate that the user has selected one tool for the left mouse button and another tool for the right mouse button:

enter image description here

The left and right tool indicators are differentiated in three ways:

  • Position (left vs right)
  • A tiny L or R.
  • Contrasting (though meaningless) colors.

In order to select a tool, the user clicks on the tool icon with either the left or right mouse button, and that button will be bound to that tool.

The right-click tool functionality is (very) convenient, but not essential. Users who can't or don't want to right-click can use the left button exclusively. In addition, when the cursor is over the canvas, then the appropriate cursor icon for the left tool will be displayed unless the user is actively using the right tool.

Does this UI make sense? I'm not nearly at the stage of user testing yet, but I wanted a sanity check because I don't think I've seen this pattern before. An alternative would be to have a separate tool palette for right clicking, but I'm concerned that this could be confusing and inconvenient.

1 Answer 1


It seems simple, but consider the following:

  1. Users tend to map previous software behaviors to the new one they encounter. Im this case, for design-related software, right click shows local menu of options (or panning) and left click uses the tool. Based on this, it would take a little bit of practice getting used to the proposed interaction.
  2. What will happen with users on macbooks or laptops without a left/right touchpad buttons?
  3. What are the options menus you are sacrificing for this interaction?
  4. Some education will need to be provided to teach the user, since this is not a standard behavior.
  5. It might make sense for draw vs erase, since they are complementary functions. But the logic makes less sense with any other combination.
  6. The task of remembering 2 functions mapped two 2 buttons might seem simple in paper, but It might be extremely difficult to remember in practice. More so when the user is brainstorming about the design of their work. Having to remember mapping of functions to buttons might be too much. It'll add a layer of unnecessary friction to using your product.

I would recommend you to stick to conventions. Left button to select primary function, right button to pan (or camera rotation for 3D design), scroll to zoom. You want users to jump in and do their design without having to relearn an interface. I'm assuming your goal is for them to create a great design, not to relearn an interface.

  • Users without multiple buttons cannot take advantage of this. However, this is only a convenience feature; every piece of functionality is accessible without it. I'm not sacrificing any menu options for this, because every piece of functionality that could have been available in a right-click menu must be available elsewhere anyway. (I'm partial to hamburger menus.) Is right-click to pan a standard convention? I don't recall seeing that.
    – Thom Smith
    Jun 18, 2019 at 3:06
  • I don't think there are standards, but I've used some that that allow panning with right click dragging. It's about being consistent rather than correct.
    – Nicolas
    Jun 18, 2019 at 4:25
  • In any case, the dual-button feature isn't really unconventional. Pixen, my pixel editor of choice, lets you independently choose tools for the left and right buttons. Even MS Paint (I'm told) lets you choose different colors for each button. I'm really looking for feedback on the interface.
    – Thom Smith
    Jun 18, 2019 at 14:56
  • Yup, in any case, it will fall to the usability study and what your users are used to.
    – Nicolas
    Jun 18, 2019 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.