Copy link to clipboard
Copied
I'm running out of space for running shortcuts related to actions
I mean the f keys.
Is anyone aware of a solution to assign an action to other key bindings?
I'm also running illustrator with a stream deck so already have access to the main shortcuts but for the tools not for the actions. too bad I can't run actions from there...
on the same subject does anyone know if adobe would activate the use of the f keys 13 through 24? it would be very handy?
Copy link to clipboard
Copied
you already used up all 48 action shortcuts?!!
[edit] sorry it's 44, F1 is not available
Copy link to clipboard
Copied
Well yes almost ^^'
mainly because most of them are related to scale / rotate / reflect with different settings so it clogs a lot of keys
Copy link to clipboard
Copied
hmm...how about Button Mode? would that help? it's not as convenient as keystrokes but it gives you one click access and button color options for easier spotting if you have many of them...there's probably no limits to the number of actions you can have
Copy link to clipboard
Copied
Yes it can be a good solution too.
If this panel is always at the same place in my workspace I could also link an mouse click to run them from there so it could work.
on another subject, your name was sounding familiar to me in some way and I founded why 😄
you helped me a while back for a gradient making script that's why !
Still useful and I use it a lot so thx again !
//Carlos Canto
//Hi Max Mugen creating gradient stops can be scripted.
//First, you need to create a swatch group, name it "gradientBars", place the 2 swatches you need in your gradient.
//Once you do that, run this script
// script.name = createGradientBarsSwatch.jsx;
// script.description = creates a 2 color gradient bar swatch
// script.requirements = a color grouped named "gradientBars" with 2 swatches
// script.parent = CarlosCanto // 02/23/2020
// script.support = canto29@gmail.com
// reference https://www.facebook.com/groups/adobeillustratorusershelp/permalink/585499995368691/
function main() {
var idoc = app.activeDocument;
var sel = idoc.selection[0];
var colors = idoc.swatchGroups['gradientBars'].getAllSwatches();
var colorIdx = 1;
var stops = Number(prompt ('Enter Number of Stops', 32, 'Gradient Bar Maker'));
var ramp = 100/(stops-1);
// add a swatch
var newGradient = idoc.gradients.add();
newGradient.type = GradientType.LINEAR;
// creating gradients creates 2 stops automatically, add the rest of the the stops to make as many as needed
for (var st=2; st<stops; st++) {
newGradient.gradientStops.add();
}
// apply data to the virtual gradient
for (var a=0; a<stops; a++) {
newGradient.gradientStops[a].rampPoint = ramp*a;
newGradient.gradientStops[a].color = colors[colorIdx^= 1].color;
}
// add virtual gradient to swatch
var colorOfGradient= new GradientColor();
colorOfGradient.gradient = newGradient;
}
main();
Copy link to clipboard
Copied
Hi Max, I do remember you and that script.
as a side note, my facebook account got hacked about a year ago, I don't have access to it anymore 😞
I'm trying to contact Mark Zuckerberg to help me get it back, but no luck so far.
Copy link to clipboard
Copied
i hear mark is only reachable in the metaverse these days.
Copy link to clipboard
Copied
😆😆
Copy link to clipboard
Copied
I use Logitech software to bind my gaming mouse to F13 - F24, then AutoHotKey to bind F13 - F24 to different keybindings (anything I want) including running scripts which trigger actions which have no hotkeys associated with them. This is specifically a Windows solution, but I've heard you can do similar things with other macro programs like Alfred, SharpKeys, etc (believe these aren't free, though).
Scripting named actions is rather easy:
app.doScript("Revert", "Default", false);
// (actionName, actionSet, showDialog?)
And you can execute JSX scripts in Illustrator via AHK arbitrarily through COM objects:
; At some point above the hotkey, like the Auto-Execute/header section of script
com := ComObjCreate("Illustrator.Application")
; Then coding something that triggers on an F23 keypress:
F23::
com.DoJavaScriptFile("action1.jsx") ; Filepath is relative to AHK script locale
return ; Return null / stop execution of code after this line for this hotkey
F24::
com.DoJavaScriptFile("action2.jsx") ; etc
return
You can just write one-line JSX scripts referring to the named Action like above, and connect them to any hotkey you'd want via the AHK COM objects above. That allows you to run any Action from any key or combination of any amount of keys regardless of the limitations you'd have with the keybindings Adobe gives you. There's probably some equivalent in other macro programs but I'm personally unfamiliar.
Copy link to clipboard
Copied
Been a while since I'd done this and I realized my main AHK script doesn't directly call COM this way so I wanted to reconfirm before leaving any bad information online. I've successfully ran this AHK script:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
com := ComObjCreate("Illustrator.Application")
F1::
com.DoJavaScriptFile("C:\Users\TRSch\OneDrive\Documents\Adobe Scripts\testAlert.jsx") ; Couldn't get this to work without absolute path for some reason
return
For some reason, I wasn't able to use local paths despite having SetWorkingDir -- may be rusty in AHK now that I primarily code in other languages though.
Copy link to clipboard
Copied
Here is my version
#NoEnv
;#Warn ;Enable warnings to assist with detecting common errors.
SendMode Input
#SingleInstance force
#IfWinActive ahk_class illustrator
F1:: RunScript("Script_1.jsx")
F2:: RunScript("Script_2.jsx")
RunScript(script)
{
;Main script folder
FullPath := "d:\Resources\Scripts\Illustrator\" . script
Run Illustrator.exe %FullPath% , ,Max
return
}
Copy link to clipboard
Copied
Thank you all for the helps and bits of code, it will def help
I'll have a go at AHK and js coding for a bit and see how it goes
Pretty unfamiliar with both but we'll see haha
Thanks again for the help !
Cheers