Copy link to clipboard
Copied
Hi there,
I am wondering if a script exists online to list all unused hotkeys in Ps? I can code but don't want to spend a day at it to find out it's not possible. It's quite frustrating hitting keys and photoshop telling me that key is already used. Most apps including AfterEffects can show you clearly what is available. Has anybody tackeled this before? I don't see much in the API. I suppose the .kys file could be parsed.
Thanks,
A
Copy link to clipboard
Copied
Here's a list of the default keyboard shortcuts in Photoshop:
https://helpx.adobe.com/photoshop/using/default-keyboard-shortcuts.html
Copy link to clipboard
Copied
I don't know of a list of unused shortcuts, but if you click the Summarize button in the Edit menu > Keyboard Shortcuts dialog, you will get a list of all Keyboard shortcuts, including the ones you have reassigned. Then you can scan through to find ones you don't use and reassign them.
The scripters may be able to write something if it's possible with a script. They are pretty amazing!
Jane
Copy link to clipboard
Copied
Most apps including AfterEffects can show you clearly what is available.
By @AlEdRTE
After Effects and the other Adobe video apps use the newer, visually oriented, and much more capable and flexible Keyboard Shortcuts dialog box. The main problem here is that Photoshop is one of the apps that still uses the older Keyboard Shortcuts dialog box that dates back to (I think) the 1990s.
Last year, Adobe Bridge switched over and adopted the visual Keyboard Shortcuts dialog box. But Photoshop, Illustrator, and InDesign are still doing it the old way. If those product teams can be convinced (through, for example, a feature request that gets a lot of votes) that switching to the more modern Keyboard Shortcuts dialog box should be a higher priority than other potential enhancements, maybe this will become easier to do in the future.
Copy link to clipboard
Copied
My goodness that would be a handy thing to have. I take the view that there basically are no unused shortcuts. The thing is, not to care about it, because you can overwrite some of the existing shortcuts, and save them in Custom Workspaces. If you need the default shortcut, switch back to Essentials.
There is a wee shortcut goldmine that you might make use of, that being the Funtion keys. The defaults for the F keys are either redundant, or not useful unless you are using a laptop with a small screen. You can use short Actions and trigger them with (example) F2, Ctrl F2, Shift F2, Ctrl Shift F2. I use F5 to set and reset my triple monitor workspace, and F6 to to switch to a modified Essentials. It never gets old having panels spread haphazedly about the screen(s) and having it tidy up with a single key press.
I am currently taking this a step further having just bought the Logitech G515 keyboard. Anyone who has used any of the gaming keyboards with G-keys and apps like G-Hub, Synapse and iCue will know you can remap the G-keys to custom macros. Those macros can be shortcuts, scripts, or character strings. These are app specific.
Well the G515 lets you remap every single key. I am in the process of mounting the G515 above and behind my main Corsair K95 keyboard. There is no problem having two keyboards btw. Least ways not with Windows 11. It accepts input from either keyboard. I have tested this to make sure, and it works perfectly. I'll share what I have done when finished if anyone is interested. I have been doing this with the Function keys for a while, mostly for functions hidden in drop down menus like convert to smart object, new smart object via copy, rasterize layer, Trim etc. etc.
Copy link to clipboard
Copied
With the help of ChatGPT. This is in progress, as there are lots of complications. This will list the keyboard shortcuts in a text file, sorted. Change the path in the script to your .kys file.
As say the F1-F12 keys are sorted alphabetically- we can see easier what is missing is available. e.g.. below I can see I have F9-F12 available.
F2 Fit Layer(s) on Screen
F3 Fit on Screen
F4 100%
F5 Match Zoom
F6 Float All in Windows
F7 PDF Presentation...
F8 Info
However, how Adobe records single key shorcuts in the file is complex, and not captured in this script. Also some context keys are skipped. Also trying to detect hotkeys used by Actions is difficult too and not included here. Perhaps there is someone out there that wants to take this further!
// Define the input and output file paths
var inputFile = File("insert your path here/AlanKeys_v06.kys");
var outputFile = File("~/Desktop/keyboard_shortcuts.txt"); // Output on the desktop
// Function to extract and format keyboard shortcuts
function extractShortcuts(inputFile, outputFile) {
// Open the input XML file
if (inputFile.exists) {
inputFile.open('r');
var xmlContent = inputFile.read();
inputFile.close();
// Parse the XML content
var xmlDoc = new XML(xmlContent);
// Array to hold the shortcuts and command pairs
var shortcutsArray = [];
// Loop through each <command> element and extract the shortcut and name
var commands = xmlDoc..command;
for (var i = 0; i < commands.length(); i++) {
var commandName = commands[i].@name.toString();
var shortcut = commands[i].shortcut.toString();
// Only format and store if there is a shortcut available
if (shortcut !== "") {
var formattedShortcut = formatShortcut(shortcut);
// Add the formatted shortcut and command name as a pair to the array
shortcutsArray.push(formattedShortcut + "\t" + commandName);
}
}
// Sort the array alphabetically
shortcutsArray.sort();
// Open the output file for writing
outputFile.open('w');
// Write each item from the sorted array to the output file
for (var j = 0; j < shortcutsArray.length; j++) {
outputFile.writeln(shortcutsArray[j]);
}
// Close the output file
outputFile.close();
// Notify the user
alert("Shortcuts extracted, sorted, and saved to: " + outputFile.fsName);
// Open the output file automatically
outputFile.execute();
} else {
alert("Input file not found: " + inputFile.fsName);
}
}
// Function to format the shortcut in Ctrl+Alt+Shift order
function formatShortcut(shortcut) {
// Break down the shortcut string into individual parts
var parts = shortcut.split('+');
// Arrays to hold the possible modifiers
var ctrl = false, alt = false, shift = false;
var key = "";
// Classify each part as a modifier or the actual key
for (var i = 0; i < parts.length; i++) {
var part = parts[i].toLowerCase();
// Check if it's a modifier
if (part === "ctrl") {
ctrl = true;
} else if (part === "alt") {
alt = true;
} else if (part === "shift") {
shift = true;
} else {
key = parts[i]; // Assume the key is the non-modifier part
}
}
// Construct the ordered shortcut string
var formattedShortcut = "";
if (ctrl) formattedShortcut += "Ctrl";
if (alt) formattedShortcut += (formattedShortcut ? "+" : "") + "Alt";
if (shift) formattedShortcut += (formattedShortcut ? "+" : "") + "Shift";
if (key) formattedShortcut += (formattedShortcut ? "+" : "") + key;
return formattedShortcut;
}
// Run the function to extract, sort, and write shortcuts
extractShortcuts(inputFile, outputFile);
Copy link to clipboard
Copied
This is a grab from Autodesk Maya, shows all occupied keys visually, and it changes when you hold down a modifer key etc. Essential for professionals in any Content Creation app.
I am also using 'Clavier', an open source app for sending hotkey combinations to Photoshop.
For instance say Ctrl+F9 is delete layer in Photoshop.
In Clavier, I set it up that 'D' == 'Ctrl+F9' so for me D == delete
That allows me to use and manipulate all single key shorcuts as I choose (not Adobe).
Also it enables full access to combinations like Alt+c, Alt+s etc.
This is Clavier :
https://gryder.org/software/clavier-plus/
Copy link to clipboard
Copied
Hey there, I have used the Corsair keyboards for many years but switched to a StreamDeck to do the same job - but be able to assign icons and text quickly. I prefer now to stick to the keyboard for some reason but I would recommend it above the gaming keyboards.
Check this out:
https://www.youtube.com/watch?v=u2a99l8_KnY&ab_channel=SideshowFX