UX improvement: Allow line on shift to be consistent with line tool

Using shift for straight lines is a huge part of my process for rapidly cleaning up/chiseling pixel edges, and the current implementation is the main reason I don’t switch to Aseprite as my main editor for work.


  • User must tap where they want a line to start (avoid any motion during the tap!)
  • User holds shift
  • Preview is shown (if option is on)
  • User must tap to commit a line, again avoiding any motion mid-tap


  • The first issue is that this is way more interactions than are necessary. To be able to rapidly sketch straight lines we want to minimise the number of individual inputs.
  • The second issue is this is terrible for pen/tablet use. Tapping on a tablet–especially a display tablet–can be very difficult to do perfectly accurately. By the time the pen tip has activated there can easily be enough deviation from the position that the line is now slightly different, which is bad news for pixel art where we’re trying to be very particular about which pixels we hit.

I recommend we have the option to use this more streamlined method used in other apps including PyxelEdit, which would also be consistent with Ase’s own line tool.

  • Hold shift
  • Pen touches screen, line starts (brush or eraser)
  • Pen leaves screen, line ends

This means there is no extraneous tapping. Lifting the pen is far more accurate than tapping, and the pen only ever needs to touch the screen once in exactly the same manner as it does when drawing lines normally.

Simply setting line tool to shift doesn’t work as we need it to apply to eraser as well.


every app does this differently relly,m but to clean up i recommend using the countour tool with a mask on the right click, it can act as a very flexible eraser, good way to chisel shapes like you mentioned.

I think Krita and Clip Studio allow the method I mention, and it’s default in Pyxel. Ase approximately uses Photoshop’s method, but this is a nightmare for pen & tablet, specifically due to the precision needed for pixel art. And just from a UX principles standpoint it includes multiple extraneous interactions.

So what I’m suggesting is the option to use the fast single interaction method.

I’d probably need to make a video to show exactly why the Pyxel method is so much better for pixel art, but the contour tool isn’t trying to solve the same problem. It’s the fact that you have a very predictable bresenham line and can have the pen/cursor at a point far away from the edge you’re trying to clean which increases the precision.

The curve tool can make smoothish curves, but that isn’t for precise control when you already have in mind the exact curve and pixels which need to be added or removed.

oh sorry i thought you meant the shift pen tool, the line tool you dont need to tap to commit a line you can just tap and drag, but you do need to hold shift, you can also do snap grid for a better control.

The line tool itself works how I want and can be assigned to shift but this then doesn’t work for eraser, and doesnt use your current brush size.

The default shift for line applies to both pen and eraser but uses this strange method where it keeps drawing normal non-straight lines when mid-tap which is frankly broken for pen & tablet users, as well as generally being interaction inefficient.

I just want the shift-for-line to work the same was as the normal line tool basically, and thus also apply to eraser and use the appropriate sizes.

just use mask. if you are on rgp mode it should work fine.

that way it can act as an eraser, if you want it on index mode you need to put it on the palette.

I tried that also but there wasn’t a way to use hotkeys to switch these, so not useful as an alternative to eraser generally either.

what do you mean? the line tool hotkey is L, just keep mask on your second slot and use right click, rarely does someone use both slots for color they are using.

I’m using pen & tablet and wacom ek remote for hotkeys. Display tablet is 32 inches so no room for keyboard. Hotkey space is precious so I don’t have L. I tried shift for line tool but already explained why that doesn’t work. Line tool has independent settings from brush. Eraser and mask are also functionally different as they have independent settings to each other, and hd index painting wouldnt be possible using mask as the independnt settings are needed, so even if I had right click free which I don’t it wouldn’t solve this use case anyway, among numerous others which benefit from independent settings.

Trust me, I’ve tried all the combinations of what asesprite can offer and there is no solution which isn’t a significant comprimise. I can make krita, pyxel, clip studio, and animate all function as I desire. In aseprite there is no way to achieve the same behavior.

I’ve tried to outline simple UX reasons why it would be beneficial to allow making the shift and line tool behaviors consistent.

I appreciate the suggestions, but they are clearly attempts at workarounds, not solutions. And trust me, I’ve tried the lot and ase can’t do it, and the solution, I’ve argued, is sensible and easy.

1 Like