Fix Shorcuts to match Photoshop CC Behaviour #23

Open
opened 2026-04-05 19:44:23 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @pierspad on 2/13/2026

Many of the shortcuts currently listed in shortcutsrc do not correspond to the shortcuts that are actually present in Photoshop.

I have updated some of the most used to better adhere to:
Adobe Photoshop CC Shortcuts Reference.
Photoshop Keyboard Shortcuts


Key Changes:

  • Layer Duplication (Ctrl+J): Remapped from image-duplicate (whole image) to layers-duplicate (active layer).

  • Free Transform (Ctrl+T): Mapped to tools-unified-transform instead of Scale. It enables also rotation, similar to Photoshop's Free Transform.

  • Fill (Alt+Del / Ctrl+Del): Swapped to correctly match Foreground vs Background fill colors logic.

  • Marquee Tools (M / Shift+M): Separated Rectangular and Elliptical selection.


I used a short Python script to clean up and sort the file into "Active" and "Inactive" sections to improve readability.
NOTE: GIMP will load shortcuts in memory and overwrite the wil upon exit. Hence this is intended solely for better maintenance.

import os
import shutil
p = os.path.join(os.path.dirname(__file__), "shortcutsrc") 
shutil.copy(p, p + ".bak")                                 
lines = open(p).readlines()                                
idx = next((i for i, x in enumerate(lines) if "(file-version" in x), -1) + 1 
active, inactive = [], []
for x in lines[idx:]:                                      
    if not x.strip(): continue                             
    (active if x.strip().startswith("(action") else inactive).append(x) 
open(p, "w").writelines(lines[:idx] + ["\n# ACTIVE\n"] + active + ["\n# INACTIVE\n"] + inactive)

Below is a screenshot of the changes in a more readable format.

  • On the left: the shortcutsrc file updated at commit ca9c6f2
  • On the right: my proposal
image

Note on deviations:

Some shortcuts differ intentionally from the PDF to accommodate GIMP's workflow:

e.g. (action “tools-bucket-fill” “<Shift>g”)

In Photoshop, both the Gradient Tool and Paint Bucket share the G shortcut, and users cycle through the stack using Shift+G.
Since GIMP handles tool cycling differently, I mapped:

  • G -> Gradient Tool
  • Shift+G -> Bucket Fill

If you agree with adhering to these shortcuts, I plan to submit further adjustments in future PRs. I'm open to feedback if further changes are needed.

*Originally created by @pierspad on 2/13/2026* Many of the shortcuts currently listed in [shortcutsrc](https://github.com/Diolinux/PhotoGIMP/blob/master/.config/GIMP/3.0/shortcutsrc) do not correspond to the shortcuts that are actually present in Photoshop. I have updated some of the most used to better adhere to: [Adobe Photoshop CC Shortcuts Reference](https://helpx.adobe.com/content/dam/help/attachments/PhotoshopCC-KBSC.pdf). [Photoshop Keyboard Shortcuts](https://photoshoptrainingchannel.com/photoshop-keyboard-shortcuts/#h-using-this-photoshop-keyboard-shortcuts-guide) --- Key Changes: - Layer Duplication (`Ctrl+J`): Remapped from image-duplicate (whole image) to layers-duplicate (active layer). - Free Transform (`Ctrl+T`): Mapped to tools-unified-transform instead of Scale. It enables also rotation, similar to Photoshop's Free Transform. - Fill (`Alt+Del` / `Ctrl+Del`): Swapped to correctly match Foreground vs Background fill colors logic. - Marquee Tools (`M` / `Shift+M`): Separated Rectangular and Elliptical selection. --- I used a short Python script to clean up and sort the file into "Active" and "Inactive" sections to improve readability. **NOTE**: GIMP will load shortcuts in memory and overwrite the wil upon exit. Hence this is intended solely for better maintenance. ```python import os import shutil p = os.path.join(os.path.dirname(__file__), "shortcutsrc") shutil.copy(p, p + ".bak") lines = open(p).readlines() idx = next((i for i, x in enumerate(lines) if "(file-version" in x), -1) + 1 active, inactive = [], [] for x in lines[idx:]: if not x.strip(): continue (active if x.strip().startswith("(action") else inactive).append(x) open(p, "w").writelines(lines[:idx] + ["\n# ACTIVE\n"] + active + ["\n# INACTIVE\n"] + inactive) ``` --- Below is a screenshot of the changes in a more readable format. - On the left: the `shortcutsrc` file updated at commit `ca9c6f2` - On the right: my proposal <img width="1295" height="848" alt="image" src="https://github.com/user-attachments/assets/7bca3725-b8f2-4f38-a6fe-671278c071f3" /> --- ## Note on deviations: Some shortcuts differ intentionally from the PDF to accommodate GIMP's workflow: e.g. `(action “tools-bucket-fill” “<Shift>g”)` In Photoshop, both the `Gradient Tool` and `Paint Bucket` share the `G` shortcut, and users cycle through the stack using `Shift+G`. Since GIMP handles tool cycling differently, I mapped: - `G` -> Gradient Tool - `Shift+G` -> Bucket Fill --- If you agree with adhering to these shortcuts, I plan to submit further adjustments in future PRs. I'm open to feedback if further changes are needed.
MrUnknownDE added the enhancementenhancementenhancement labels 2026-04-05 19:44:24 +02:00
Sign in to join this conversation.