2

How do I switch, using a keyboard shortcut, from selecting a grouped layer to selecting the layers grouped individually?

enter image description here

0

You can use the layer navigation shortcuts.

Option/Alt+[ = highlight next layer/group below

Option/Alt+] = highlight next layer/group above

If the highlight lands on a group, then it's the group.

There's no shortcut I'm aware of to "jump" between or to the next/previous group. And there's no shortcut to toggle the Auto-select option of the Move Tool.

| improve this answer | |
0

I have a workaround for that...

I usually have Move tool set to select groups and auto-select enabled. I do disable auto-select sometimes because with the move tool active, you can temporarily toggle auto-select by holding down Cmd, which is sometimes better when using the move tool directly.

I use Cmd+Alt+Right Click to select layers in the document. This works with any tool that can toggle to Move tool when pressing Cmd (+Move tool itself). In Windows, you use Ctrl instead of Cmd. Otherwise, it's the same. This method is not tied to the Move tool settings and will always select layers no matter what.

...and if I want to select folders, I Cmd+Left Click. This works assuming Auto-select is enabled in the Move tool settings. Or if I happen to be using the Move tool, I simply Left Click.

The Cmd+Alt+Right Click method has one quirk that can be annoying or awesome depending on the situation. It selects locked layers, whereas the Move tool Auto-select doesn't.


I also want to mention that I often use the Cmd+Alt+Right Click method and the script mentioned here to get its immediate parent.

Very often it's more useful than the Move tool group selection method. Let's say you have this layer structure:

  • Group 1
    • Layer
    • Group 2
      • Layer
      • Layer
    • Group 3
      • Layer

The Move tool group selection will always give you Group 1, which basically makes it useless if you'd rather select Group 2 or Group 3.


A second workaround could be creating two tool presets. One for selecting layers and one for selecting groups. You could then make two Actions for triggering each tool preset. You should give both Actions shortcut keys.

You should disable Current tool only in the Tool Presets dropdown that in the left side of the toolbar. This way the actions can be triggered with other tools active. This would be kind of annoying because then you have all tool presets visible in this list at all times. Not so annoying if you don't use it regularly. If you don't do that, you can only use these Actions when Move tool is active.

You wouldn't need to disable Current tool only if you could record the activation of Move tool into an Action, but you can't... You could get around that by using a script, because actions can trigger scripts. Then again you could script the whole process: Select Move tool, Select Preset X. Upside with scripts would be that you have more freedom with the type of Shortcut you want to set.

| improve this answer | |
0

Using a tablet pressure:

We can use control + option + click on a Mac, while the Group is active using the Move tool to select a Layer, inside or outside the group either.

Using a mouse:

option + right click.

I'm not sure about Windows.

| improve this answer | |
0

Yes it is possible by using scripts and Presets

Step 1 : Create new presets from Tool Presets window and if it is hidden then go to Windows-Tool Presets to make it Visible, after that create two presets named AutoGroup and AutoLayer, watch below tutorial to understand more.

enter image description here

Step 2 :Once you create this presets save below scripts and put it in your Photoshop's script folder and reboot your photoshop, to ensure scripts is saved successfully go to File-Scripts-AutoselectLayer/Group if you have this scripts then you are ready for final step

Script 1 = Save below script as AutoselectLayer

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };  

var idslct = charIDToTypeID( "slct" );
    var desc13 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref6 = new ActionReference();
        var idmoveTool = stringIDToTypeID( "moveTool" );
        ref6.putClass( idmoveTool );
    desc13.putReference( idnull, ref6 );
    var iddontRecord = stringIDToTypeID( "dontRecord" );
    desc13.putBoolean( iddontRecord, true );
    var idforceNotify = stringIDToTypeID( "forceNotify" );
    desc13.putBoolean( idforceNotify, true );
executeAction( idslct, desc13, DialogModes.NO );



  function Preset(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putName(sTID("toolPreset"), "AutoLayer");
    desc1.putReference(cTID('null'), ref1);
    executeAction(cTID('slct'), desc1, dialogMode);
  };
Preset();

Script 2 = Save below script as AutoselectGroup.jsx

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };  

var idslct = charIDToTypeID( "slct" );
    var desc13 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref6 = new ActionReference();
        var idmoveTool = stringIDToTypeID( "moveTool" );
        ref6.putClass( idmoveTool );
    desc13.putReference( idnull, ref6 );
    var iddontRecord = stringIDToTypeID( "dontRecord" );
    desc13.putBoolean( iddontRecord, true );
    var idforceNotify = stringIDToTypeID( "forceNotify" );
    desc13.putBoolean( idforceNotify, true );
executeAction( idslct, desc13, DialogModes.NO );



  function Preset(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putName(sTID("toolPreset"), "AutoGroup");
    desc1.putReference(cTID('null'), ref1);
    executeAction(cTID('slct'), desc1, dialogMode);
  };
Preset();

Step 3 : Now all we need is define shortcut so go to Edit-Keyboard Shortcut or Alt+Ctrl+Shift+K and change shortcut for both script (in my case i used Ctrl+Alt+Q and Ctrl+Alt+Shift+Q ) and now you're done, each time you press your keys it'll auto select your commands XD i know i'm too late but even @Joonas had same idea as i uses and it's so cool :) below is image of working concept.

enter image description here

| improve this answer | |
  • Why wouldn't you just get the setting the active move tool and then select a preset with the other setting? This way you only need one script. – Sergey Kritskiy Sep 28 '19 at 7:16
  • Yeah. It can be useful but later I'm currently using my plugin so I moved over shortcut keys haha. Guess no need to press hotkeys anymore. – Mr.Online Sep 29 '19 at 8:20
  • what's your plugin? – Sergey Kritskiy Sep 29 '19 at 11:33
  • well it's private called Phoenix Exporter (which used for game design purposes) – Mr.Online Sep 30 '19 at 3:27
  • 1
    imgur.com/a/v9Su8vw here is demo image. – Mr.Online Sep 30 '19 at 3:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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