[BUG] Invoked Eraser Behaviour Through Key Shortcut

@feeef @derek_saif @jonasthomas @chchwy @highkillerdk @spark

Core Issue: Invoked Eraser Behaviour

I’ve found this complex “behaviour” has four (4) separate issues but they are part of the same element.

I wanted to present this here first before submitting it to Github because I want to know if you think I should present only one (1) bug report, or two (2) different bug reports that are referenced between each issue.

#1, #2 and #3 are tightly related, but #4 is more in the User Experience side of things, however I feel each one stems from the eraser tool invocation behaviour through the CTRL + SHIFT shortcut while using any other tool.

Invoke Eraser Keyboard Shortcut Bug

1) CTRL+ SHIFT invokes the eraser while using any tool, but if you press any other key while holding CTRL + SHIFT the eraser will be toggle locked as the current tool, while the previously used tool icon continues to display a “pressed down” state.

2) Also for every subsequent press of CTRL + SHIFT + ANY KEY , the size of the eraser tool will continue to grow until it reaches it’s maximum size (200px)

3) CTRL+SHIFT stops working after you use the size slider. To make it work again you need to draw / erase on the canvas and press CTR+SHIFT again.

Invoke Eraser Tool Size Behaviour

When you press CTRL+SHIFT the eraser tool changes it’s size to adjust to the current size of the current tool you are using.

I initially thought it was a great idea, but we have the following problem.

3) The eraser pixel size is offset and most of the time bigger by some pixels than the original drawing tool size. After being invoked I’ve observed that the pixel size offset changes withing certain ranges as outlined below:

Note: If your drawing tool size falls within any of the ranges on the right, the eraser tool will be offset by that amount of pixels to the left.

Eraser Size Offset >>> Drawing Tool Size Range

4 pixel offset >>> 1 to 36 px

3 pixel offset >>> 37 to 77 px

2 pixel offset >>> 78 to 82 px

1 pixel offset >>> 119 to 159 px

0 pixel offset >>> 160 up to 200 px

Proposal: For ease of use we should just leave the eraser tool with an individual size for now, that is not being changed to match the original drawing tool.

This is actually sometimes preferred in other drawing applications because you can configure the eraser tool separately as if you had either a kneaded eraser or a Rubber eraser for different tasks when drawing.

We could in the future have configuration slots for quick switching, but that’s an idea.

Jose, please fill up 2 issues on github. One about the keys and the other about the size.

I will try to fix them tomorrow!


Okay! I posted them earlier this afternoon, I polished them a bit and even found out another behaviour that was related to this so all of it is compiled here:

Eraser Tool Toggle - Tool Size Behaviour

Eraser Tool Toggle - Keyboard Shortcut Behaviour

Hope this helps to clarify what’s happening!

Thanks Jose! I will have a look at these bugs this morning!