# Custom brush property input slider with shortcuts

**URL:** <https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224>\
**Category:** Feature Requests\
**Tags:** for-brush-engine, for-ui-ux\
**Created:** [August 6, 2022, 4:42am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224 "2022-08-06T04:42:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 4:42am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/1 "2022-08-06T04:42:36Z")

</div>

## The problem

I have noticed a recurring theme in recent suggestions, and many revolve around the fact that PS has a secondary shortcut for brush hardness. As it stands, one of the only ways to control brush properties is to manually adjust them in the brush editor docker, use the quick popup tool, or assign them to relatively hard to control inputs such as `pen pressure`, `pen speed`, or `tilt`.

While it is great that these inputs exist, I believe we can give pen presets unprecedented new depth and control, while also simultaneously fixing the problem that plagues people who move from other software.

I suggest: **The custom input slider.**  
_(name pending, please come up with something cooler)_

## The basic idea

We give users the ability to control, through shortcuts or by manually dragging the slider, a ‘brush settings input’.

![image](https://krita-artists.org/uploads/default/original/3X/5/7/578c40f9b2338e713342df1ce59826f0f1dca7ea.png)

 ![image](https://krita-artists.org/uploads/default/original/3X/f/a/fa0dd24063370a832e97dc93391906241d615386.png)

It can be used just like any other input, right alongside things like fuzzy dab or pen pressure.  
It can be mapped to a curve, or compound with other inputs like pen pressure, just like the rest.

By giving users the ability to manually control a single input for a brush preset, we give them limitless possibilities for many, many different workflows. Here are just a couple:

- You’re using a grass brush to paint a row of grass, but now you want to spread the grass blades out and have them dotted over a field. You can now assign a shortcut to control how much scatter the grass has.
- You’re painting using a grayscale brush. You want to slowly move up in brightness as the parts of your subject get closer to the light source. Now you can assign a shortcut that controls the lightness of your brush.
- Calligraphers can adjust with a shortcut how thick or thin (ratio) their pen tip is.
- Artists with stamp brushes can use the secondary shortcut to rotate their brush’s texture left or right
- Lineworkers and crosshatchers can adjust how much texture shows through their strokes

The possibilities are nearly endless when you consider that multiple brush properties can be assigned to change with the custom slider simultaneously.

## Example video

I have put together a video that I hope will show the concept better:

Note: While making this video I explain that this can replace the ‘flow’ slider. I realize now that ‘flow’ is not a basic pen property, so that’s not entirely true. It could, possibly replace the opacity slider. But then there’s the argument of global vs pen preset specific, and whether tying flow/opacity to the custom slider limits its uses.

## Where it fits

Right now we have a small handful of sliders available in the main toolbar. This can sit comfortably in that dropdown menu, so that people who wish to use it can assign it to the top just like the opacity or flow slider.  
This makes it easily accessible for those who want to manually enter values or drag the slider, rather than use shortcuts.  
It can also be shown, or optionally shown, somewhere on the quick popup.  
Ideally, it will mainly sit in the background and be used through shortcuts. The entire idea is to speed up the drawing process and prevent unnecessary fiddling with brush preset settings.

## The shortcuts

**Increase/Decrease value**  
I think by default `shift + [` should decrease, and `shift +]` should increase the custom slider. I don’t see these as being used currently, but I may be wrong.

**Set custom value to 0 / 100**  
Some may use this feature as a toggle for something in their brush settings. While they could potentially do this by modifying the curve of that property, I think a shortcut to go to the extremes would be nice. I wouldn’t give it a default shortcut

## The future

There are many ways to improve this and extend its usability even further, here are some examples for things to consider for the future is demand is high enough:

**Naming slider(s) per-brush**  
Instead of saying ‘custom’ or whatever name it eventually takes, the custom slider can be named per-brush, and is transferred through the brush preset if someone else downloads it. This allows for brush creators to make custom sliders for their brush, and clearly indicate what the custom slider is used for in that brush preset.

**Multiple custom sliders**  
I don’t think having a ‘custom number of custom sliders’ is entirely doable, but I could be wrong. Instead I’d suggest just upping the number of custom inputs to 2 or 3, for even further brush customization.

**Linked or separate custom values for eraser/drawing mode**  
Users can check a box in a brush preset to unlink the custom value between eraser and brush mode.  
This would personally solve a problem I have, in which I enjoy my linework having small texture holes in it, but when I switch to eraser mode, the eraser has holes as well and leaves tiny specks behind.  
Having the custom slider control texture intensity, then setting it to ‘0%’ for my eraser would fix this problem.

## Two birds one stone

Here are several threads which could potentially be solved by this feature:  
[https://krita-artists.org/t/rotating-a-brush-by-holding-down-a-modifier-similar-to-shift-for-brush-size/32108](https://krita-artists.org/t/rotating-a-brush-by-holding-down-a-modifier-similar-to-shift-for-brush-size/32108)  
[https://krita-artists.org/t/shortcut-to-rotate-brush/43675](https://krita-artists.org/t/shortcut-to-rotate-brush/43675)  
[https://krita-artists.org/t/shortcut-to-control-brushtip-hardness/44316/12](https://krita-artists.org/t/shortcut-to-control-brushtip-hardness/44316/12)  
[https://krita-artists.org/t/more-brush-option-slider-options-and-buttons-to-turn-off-pressure-sensitivity/33647](https://krita-artists.org/t/more-brush-option-slider-options-and-buttons-to-turn-off-pressure-sensitivity/33647)  
[https://krita-artists.org/t/brush-settings-gui/32149](https://krita-artists.org/t/brush-settings-gui/32149)

And it even solves the top voted comment on the 5.1RC announcement video

 ![image](https://krita-artists.org/uploads/default/original/3X/7/5/759f2b434bd3c461800dd3e54e57171c93c838de.png)

Thank you for your time. While this doesn’t necessarily help a major problem I’m having currently, I hope that it could find its usefulness in the minds of people I’ve seen around the suggestion subforum recently.

---

<div class="post-metadata">

**Author:** ![dreamkeeper](https://krita-artists.org/user_avatar/krita-artists.org/dreamkeeper/32/15178_2.png) [@dreamkeeper](https://krita-artists.org/u/dreamkeeper)\
**Post date:** [August 6, 2022, 5:57am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/2 "2022-08-06T05:57:43Z")

</div>

So, if I’m understanding this correctly, this would be _macro_ controls in the form of additional sensors? I think that’s a nice idea.

Also, what you’re listing under ‘the future’, I’d consider essential for this feature in order to be _really_ useful. What I’d like to see, is 4 sliders in a docker which optionally can be arranged as 2 x/y controls.

Such a feature could solve a problem that I’m running into all the time: brush variants. Instead of having to save umpteen versions of the same brush with just some small differences, a single preset could cover a whole range of variations.

Of course setting the macros up properly doesn’t make the life of brush makers easier 🤪 but would be well worth it imho. The number of presets in some bundles could be drastically reduced, as not every variant needs its own preset. Users, who are uncomfortable with adjusting settings in the brush editor directly, now could dial in the desired brush behaviour/properties with just a few intuitively named controls.

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 6:04am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/3 "2022-08-06T06:04:09Z")

</div>

It would be a macro control that is used by the end-user artist to adjust certain parameters of the brush, yes. It would definitely be usable as a way to create variants of brushes without having to save multiple variants.

It would also be great as a way to provide control over the brushes to the end user, even if the end user of the brush isn’t comfortable or knowledgeable enough to go and modify it themselves.

I put the ‘future’ section because I understand development is hard, and I want to make sure the idea isn’t thrown out entirely because I ask too much from the feature. But I do agree that all ‘future’ features would definitely be amazing additions to the idea as a whole, especially for the premade brush preset scene.  
It would come at a great time too, shortly after the rework of the resource management. Perhaps it could add a whole new dimension of originality and customization to downloaded brushes in Krita.

---

<div class="post-metadata">

**Author:** ![dreamkeeper](https://krita-artists.org/user_avatar/krita-artists.org/dreamkeeper/32/15178_2.png) [@dreamkeeper](https://krita-artists.org/u/dreamkeeper)\
**Post date:** [August 6, 2022, 6:24am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/4 "2022-08-06T06:24:45Z")

</div>

> [@Ralek](#):
>
> Perhaps it could add a whole new dimension of originality and customization to downloaded brushes in Krita.

My thoughts exactly! It seems so obvious, that I almost ask myself, why no one has had the idea already - but I’m grateful for everything we’ve got so far.

Also, I think going from a single macro to say 4 with customizable labels isn’t such a huge step in terms of development. But we’ll see what the devs will have to say - if at all…

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [August 6, 2022, 6:31am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/5 "2022-08-06T06:31:23Z")

</div>

This is a neat idea. I think the opacity and flow sliders control the strength of the parameter here do you mean the same? I am a bit confused about the “custom” being listed inside the sensor list.

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 6:44am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/6 "2022-08-06T06:44:40Z")

</div>

Yes, so sensors are great to allow the brush to change depending on external inputs. Things like speed or pen pressure. But why not manual inputs? Why not have a ‘sensor’ that’s just a slider that we can slide? Or multiple sliders?

We have all of these amazing ways to customize brushes, but no way for the end user to customize them once they’re made (Without making a new preset entirely). Or to apply shortcuts to them.

The idea is that ‘custom’ can be used exactly like pen pressure, but instead of the input being the pen, it’s just a slider/sliders with attached shortcuts. I can’t imagine it’d be that difficult on the back end. What I imagine being difficult would be allowing brush creators the ability to define and name their own inputs that are saved in the brush itself. But we’d have to wait on a dev’s input for that. I’ll make more examples with multiple sliders in an x/y graph like what @dreamkeeper was talking about, since I think that’d be pretty cool as well.

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [August 6, 2022, 7:00am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/7 "2022-08-06T07:00:13Z")

</div>

> [@Ralek](#):
>
> Why not have a ‘sensor’ that’s just a slider that we can slide? Or multiple sliders?

Okay so you are saying that there should be a strength slider for individual sensors? Assuming you want to affect the parameters won’t the strength slider at the top being shown in the toolbar help?

I am still confused about how having a slider for sensors and not the parameters themselves will help. Do you want to limit the input coming from pen pressure or other sensors? Isn’t it already possible from the strength slider at the top, Will showing this strength slider in the drop-down be enough?

 ![Screenshot_20220806_122948](https://krita-artists.org/uploads/default/original/3X/8/e/8ea3402f39bcadea9b56bbc0be7a6cb4155390da.png)

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 7:11am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/8 "2022-08-06T07:11:51Z")

</div>

The idea is that the ‘custom’ slider is itself a sensor input. I’ll walk through an example:

 ![image](https://krita-artists.org/uploads/default/original/3X/e/e/ee7b2c164cccda3b038b025cba75fe135bece3f5.png)

1. The user drags the custom slider, or uses shortcuts to set it to “70%”
2. because the `hue` property is set to change based on the `custom` input, Krita calculates how it is affected by it. it does this by going 70% from the left of the graph, then up until it ‘hits’ the curve.
3. In this case, 70% from the left is about +80° on the hue slider.
4. The brush is now shifted +80° in hue because the artist changed the custom slider.

This same principle can be used on any property of a brush that can accept inputs.

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [August 6, 2022, 7:24am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/9 "2022-08-06T07:24:13Z")

</div>

Okay so this will be in addition to the other sensors which are in effect? If not then how is this different than sliding the strength slider at the top of that particular parameter ( that is hue here). How will a slider handle the graph say my graph has a curve, will the slider move along the curve to get the values?

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 7:40am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/10 "2022-08-06T07:40:19Z")

</div>

> [@raghukamath](#):
>
> Okay so this will be in addition to the other sensors which are in effect?

Yes, it is a sensor, but with manual input instead of random (fuzzy dab) or physical (pen pressure)

> [@raghukamath](#):
>
> If not then how is this different than sliding the strength slider at the top of that particular parameter ( that is hue here)

Hue does not have a strength slider. The slider at the top of the pen settings is global for all inputs and it defines the opacity of the effect. This suggestion neither conflicts with nor replaces the global pen input strength slider.

> [@raghukamath](#):
>
> How will a slider handle the graph say my graph has a curve, will the slider move along the curve to get the values?

It will handle the values the same way it handles the values for every other input. If there is a curve in the graph, there will be a curve in the output for that property. The slider itself remains unaffected as it’s an input, and the graph is a tool which affects the output.

---

<div class="post-metadata">

**Author:** ![dreamkeeper](https://krita-artists.org/user_avatar/krita-artists.org/dreamkeeper/32/15178_2.png) [@dreamkeeper](https://krita-artists.org/u/dreamkeeper)\
**Post date:** [August 6, 2022, 8:05am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/11 "2022-08-06T08:05:13Z")

</div>

> [@Ralek](#):
>
> multiple sliders in an x/y **graph**

Just to clarify: by x/y control I mean a little puck that can be dragged around within a square, so 2 parameters can be adjusted simultaniously - left/right for the the 1st parameter/slider and up/down for the 2nd. Kinda like a joystick…

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 6, 2022, 8:07am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/12 "2022-08-06T08:07:15Z")

</div>

Yeah I pictured it pretty clearly when you first mentioned x/y, I think it’s a great idea. I just used the word graph because it’d have the two axis, for instance ‘roughness’ and ‘ink amount’ and it kind of resembles a graph.

---

<div class="post-metadata">

**Author:** ![dreamkeeper](https://krita-artists.org/user_avatar/krita-artists.org/dreamkeeper/32/15178_2.png) [@dreamkeeper](https://krita-artists.org/u/dreamkeeper)\
**Post date:** [August 6, 2022, 8:11am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/13 "2022-08-06T08:11:48Z")

</div>

Ah, OK. It was a pretty obvious idea for me, as I’m into electronic music, and such controls are quite common on synthesizers etc. The same goes for macro controls in general.

---

<div class="post-metadata">

**Author:** ![Ralek](https://krita-artists.org/user_avatar/krita-artists.org/ralek/32/107058_2.png) [@Ralek](https://krita-artists.org/u/Ralek)\
**Post date:** [August 7, 2022, 6:46am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/14 "2022-08-07T06:46:11Z")

</div>

I’ve updated the OP with a list of previous feature requests which could be solved with this feature.

@z01ks, @RPictures, @Yuri_B, @TheTwo, @Hologram

Do you think this addition could solve your use case?

---

<div class="post-metadata">

**Author:** ![raghukamath](https://krita-artists.org/user_avatar/krita-artists.org/raghukamath/32/59144_2.png) [@raghukamath](https://krita-artists.org/u/raghukamath)\
**Post date:** [August 7, 2022, 7:23am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/15 "2022-08-07T07:23:07Z")

</div>

The name of the custom sensor can be “manual input” or something like that. Although it is not related to the sensors as in value for it is not coming from the tablet, but I guess value coming from the keyboard or mouse combo is fair enough for it to be included in the sensor list.

---

<div class="post-metadata">

**Author:** ![Hologram](https://krita-artists.org/letter_avatar_proxy/v4/letter/h/41988e/32.png) [@Hologram](https://krita-artists.org/u/Hologram)\
**Post date:** [August 7, 2022, 7:46am UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/17 "2022-08-07T07:46:34Z")

</div>

The thing I am worried about is that if you add an additional sensor that you hotkey, it messes with all brushes. I like how you can have control for each brush, but that comes with the downside of having to spend a lot of time to customise existing brushes.

Can’t you use the strength value instead? At least that doesn’t affect the relative values of other sensors that are in use. The custom sensir would add/ reduce or multiply values, rather than increasing/ decreasing their overall combined result more linearly (which strength does). If Hue doesn’t have a strength value, maybe it should get one. So adjust for the exception, rather than for the most common one.

So if I understand this correctly, you map this sensor to one particular hotkey per brush.

How would you incorporate this then?

> [@Brush settings GUI](https://krita-artists.org/t/brush-settings-gui/32149):
>
> Personally, I quite like the GUI of Blender which displays the old brush size when switching to the new. This makes it easier to gauche whether the new brush size is more appropriate than the old. Furthermore, Krita’s ability to change brush size when holding shift and moving horizontally, could be expanded in the vertical direction to allow for changing hardness (or opacity/ brush tilt, amongst others). The deciding factor in which setting is changed should be based on the initial gesture direc…

---

<div class="post-metadata">

**Author:** ![RPictures](https://krita-artists.org/letter_avatar_proxy/v4/letter/r/59ef9b/32.png) [@RPictures](https://krita-artists.org/u/RPictures)\
**Post date:** [August 7, 2022, 4:10pm UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/19 "2022-08-07T16:10:25Z")

</div>

Yes, it could potentionally speed up my journey and I’m so glad to you for listening us and taking part of your time for this “lifechanger” to happen. Today I was feeling a bit depressed about all the mini-failures that happened around my life and I was starting to think that no matter how much I shout, no one was going to hear me…

But now I know that there are good people in this world that I can rely on them, I thank you very much good man or woman, thanks to you I can sleep fine tonight.

---

<div class="post-metadata">

**Author:** ![dreamkeeper](https://krita-artists.org/user_avatar/krita-artists.org/dreamkeeper/32/15178_2.png) [@dreamkeeper](https://krita-artists.org/u/dreamkeeper)\
**Post date:** [August 7, 2022, 7:02pm UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/20 "2022-08-07T19:02:44Z")

</div>

> [@Yuri\_B](#):
>
> Also, when you are assigning the parameters to the sliders (since you mentioned more than one per slider), a pop up with some check boxes and an x y graph could appear.

That would be handled in the brush editor by activating the custom sensor(s) and setting up their respective curves. Exactly the same as setting e.g. the pressure control of parameters - except, that the input value isn’t pen pressure but the custom slider.

---

<div class="post-metadata">

**Author:** ![wojtryb](https://krita-artists.org/user_avatar/krita-artists.org/wojtryb/32/480_2.png) [@wojtryb](https://krita-artists.org/u/wojtryb)\
**Post date:** [August 7, 2022, 7:28pm UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/21 "2022-08-07T19:28:06Z")

</div>

And combining it with other inputs using min, max and multiply, one could steer things like minimal opacity or highest pattern strength achievable with pressure.

And if my idea of treating animated brush tip as a property controllable with sensors, ever gets implemented - this would get wild with switching tips using a slider/shortcut 😃

I’m really starting to like this concept - great request 🙂 “manual input” sounds better. Maybe something like “brush control”…

---

<div class="post-metadata">

**Author:** ![Hologram](https://krita-artists.org/letter_avatar_proxy/v4/letter/h/41988e/32.png) [@Hologram](https://krita-artists.org/u/Hologram)\
**Post date:** [August 7, 2022, 7:36pm UTC](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224/22 "2022-08-07T19:36:14Z")

</div>

Would it be possible to map the custom sensor globally for any brush? Then you won’t have to edit most of the existing brushes. I would like there to be a minimum effort option, because I doubt all brush packages will be remade by their respective authors.

Oh wait, what if I were to assign a custom sensor and hotkey and package a bundle? Would other people be ‘forced’ to use this too? Can this be made independent of the brush preset/ bundle? Perhaps like the tagging system? Every brush uses the default configuration you set, apart from the ones that are tagged to be different?

[Next page](https://krita-artists.org/t/custom-brush-property-input-slider-with-shortcuts/45224.md?page=2)
