darktable 提供三种自定义快捷键方法:一、内置快捷键编辑器,图形化操作,适合新手;二、手动编辑 keyboard_shortcuts.conf 文件,支持底层命令;三、用 lua 脚本扩展,可绑定非标准动作。

如果您在使用 Darktable 时发现常用操作(如曝光调整、白平衡切换、导出)需要频繁点击菜单或面板,效率低下,则可能是由于快捷键未按个人习惯配置。以下是为 Darktable 设置自定义快捷键以加速修图的多种方法:
一、通过 Darktable 内置快捷键编辑器配置
Darktable 提供图形化界面直接修改大部分核心模块的快捷键,无需编辑文件,适合新手且不易出错。
1、启动 Darktable 后,点击顶部菜单栏的 首选项 → 选择 快捷键 标签页。
2、在搜索框中输入功能关键词(例如 exposure 或 export),定位对应操作项。
3、双击目标操作右侧的当前快捷键区域,按下您希望绑定的新组合键(如 Ctrl+Shift+E)。
4、若提示冲突,可选择 替换 或 跳过;确认无误后点击 保存 按钮。
5、重启 Darktable 使更改生效。
二、手动编辑 keyboard_shortcuts.conf 配置文件
该方式支持覆盖内置编辑器未列出的底层命令(如模块启用/禁用、焦点切换),并允许批量导入导出配置,适合进阶用户。
1、关闭 Darktable,打开其配置目录:
Linux 路径为 ~/.config/darktable/keyboard_shortcuts.conf;
macOS 路径为 ~/Library/Application Support/org.darktable.Darktable/keyboard_shortcuts.conf;
Windows 路径为 %APPDATA%\darktable\keyboard_shortcuts.conf。
2、用纯文本编辑器(如 VS Code、Notepad++)打开该文件。
3、查找形如 "module_enable|exposure" 的键名,其后引号内即为当前绑定的快捷键(如 "Ctrl+E")。
4、将引号内内容替换为您选定的键位组合,注意大小写与符号格式需严格匹配(例如 "Alt+Shift+X")。
5、保存文件,重新启动 Darktable。
三、使用 Lua 脚本扩展快捷键能力
Darktable 支持 Lua 插件机制,可通过编写脚本注册全新快捷键,触发非标准动作(如一键复制当前历史堆栈、批量启用指定模块)。
1、确保 Darktable 编译时启用了 Lua 支持(默认开启),并在 首选项 → Lua 中启用插件系统。
2、创建 Lua 脚本文件(如 custom_hotkeys.lua),存入 ~/.config/darktable/lua/ 目录。
3、在脚本中调用 dt_lua_register_idle_callback() 或 dt_lua_register_event_callback() 绑定按键事件。
4、示例代码片段:
dt.action_define("mygroup/export_all", "Export all images", function() dt.gui.export_all() end, {{"Ctrl+Alt+E"}})。
5、重启 Darktable 并在 首选项 → Lua 中勾选该脚本启用。











