How to deal with brushes in Photoshop and start living


How to deal with brushes in Photoshop and start living

What is the problem?

For several years I painted in Corel Painter, a couple of brushes were enough for me and everything was fine. Then I climbed into Ps and brushes began to accumulate without my will in an alarming amount, and I really needed a maximum of 5 percent of them.

fcb9ad3f8b6c6efc505ecA feeling familiar to many

Photoshop is a universal harvester, it can do everything, but with varying degrees of curvature. It’s not ideal for painting at all, and brush organization is one of its weakest points. Hotkeys can be hung on almost anything, just not on the wrist. Brushes can be stored in Brush presetswhere everything you have is displayed in one list. You cannot arrange brushes into folders, you cannot highlight them with color, you cannot assign tags, categories, sort them somehow.

What can the undisputed leader of the industry offer us besides picking through an endless list of presets?

1d9ac89e1b1126abb16f7And I just downloaded a couple of brush packs from different artists.

If you draw all the time, the seconds to scroll through this endless list back and forth will add up to minutes and hours. As a result, it will only take you a couple of days a year to choose brushes instead of painting.

What can you do about it?

one. To begin with, select the brushes that we generally use at least sometime and save in Tool Presets… I have about 70 of them.


Why not store brushes directly in the Brush presets? Any added brush pack will clog your saved brushes and you won’t be able to sort them in any way.

2. We assign a hotkey for the Tool Presets menu (I have F1, for example) and call the list when it is convenient for you. This technique was enough for me for a couple of years, but somehow I watched a master class by Sergei Ryzhov, where, among other things, he tells how his brushes are organized. It turned out that you can add a hotkey action to any toolset.

We assign buttons to any individual presets.

For actions in Fsh, only keys are highlighted F2-F12, Ctrl and Shift… Thus, in theory, we can assign hotkeys to 48 brushes (in fact, a little less, something is occupied by the system and the FS itself).

How it’s done:


We got the hotkeys we needed, but there are two problems.

one. We can assign many combinations, but how do you remember what is where? I selected three brushes with similar properties and grouped them into folders on each function button. This is how categories appeared for brushes.


Those brushes that we use all the time (I have 3-4 of them), we hang them under the left hand on the buttons without modifiers (F2-F5). We choose hotkeys for the rest of the brushes according to the same principle – the more often we use a brush, the more comfortable it is for the hand to choose a hotkey.

2. Maybe there are people with shoveling hands, but for me, for example, pressing Ctrl + Shift + F12 with one left hand is almost unrealistic, and pressing with two is not very convenient, it’s faster to poke the cursor into the list in time. There is no such problem, for example, in 3D-Coat, where any hotkeys are stacked and you can hang as many commands as you like on one button. It would be ideal to hang three brushes per key and quickly squeeze one, two or three times to bring up the desired brush. Here’s how to do it.

Autohotkey. We hang three brushes on one button.

Before Oleg Krasnov’s text about Autohotkey for applications, I thought autohotkey was something for cheaters in Dota and macros in BF3. I have zero programming skills, so I asked my pogromist brother to write me the script I needed, which would replace, for example, double F2 with Ctrl + F2, triple – with Ctrl + Shift + F2, and so on.

He sent me this script:

; Helper functions

HandleMultiplePresses(pressHandlerNames*) {
 keyPresses += 1
 strippedHotkey := StripHotkeyModifiers(A_ThisHotkey)
 KeyWait, %strippedHotkey%     ; Wait for KeyUp. 
 KeyWait, %strippedHotkey%, D T.12 ; Wait for same KeyDown or .12 seconds to elapse.
 keyPressedBeforeTimeout := (ErrorLevel = 0)

 If (keyPressedBeforeTimeout) {
  Goto, Recurse

 Return pressHandlerNames[keyPresses]()

StripHotkeyModifiers(hotkeyToStrip) {
 ; from
 RegExMatch(hotkeyToStrip, "i)(?:[~#!<>*+^$]*([^ ]+)( UP)?)$", Key)
 Return Key1, ErrorLevel := (Key2 ? "Down" : "Up")

; Logic itself

#IfWinActive ahk_class Photoshop

 SendHotKey() {
  Send, {%A_ThisHotkey%}

 SendCtrlHotkey() {
  Send, ^{%A_ThisHotkey%}

 SendCtrlShiftHotkey() {
  Send, ^+{%A_ThisHotkey%}

 F2:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey")
 F3:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey")
 F4:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey")
 F5:: HandleMultiplePresses("SendHotKey", "SendCtrlHotkey", "SendCtrlShiftHotkey")


Part of the code is taken from this forum. In fact, our script is just a .txt file, to which we manually assign the extension .ahk. We can edit the text after the line in the notebook ourselves. ; Logic itself, assigning the buttons you want and saving the .ahk file. For example, I added buttons F1 to F12.

How to make everything work.

one. We download the autohotkey executable 1.1.28 from offsite and install where it is convenient for us.

2. We poke into our ready-made script, such an icon should appear in the tray.


3. Press buttons in Photoshop, draw, rejoice. At the same time, it makes no difference where the script is, where the autohotkey is located, which is launched first, Ahk or Ps.

To avoid starting every time, I added a script shortcut to the startup folder: Win + R / shell: startup

Or if you are too lazy to mess around with scripts, here is an .exe with buttons F1-F12, which I compiled for myself (oh, it would be necessary to embed the miner there).

The way for the buttons is of course oblique, crooked, crutches went through crutches, but I don’t know better yet. I have bad news for the macho boyars, there is no auto-hunting there, but there seem to be analogs, my method is only suitable for wind-holders.

Author: Sergey Kuzmich

Leave a Reply