Darktable 1.4.x Shortcuts

Darktable allows the export of the complete keyboardrc, which would create a roughly 80k file containing tons of lines like the following:

; (gtk_accel_path "<Darktable>/global/map view" "m")

With this file you can basically create any key assignment, that you like. However the generated file is complete unsorted.

To make some sort of sense of the keyboardrc file I suggest to sort the file by invoking the sort command:

$ sort keyboardrc | less

or alternatively the command

$ sort keyboardrc | sed -e '/ "")$/d' | less

This will edit out all commands, which don’t have a key assigned. In general within the keyboardrc, after having it sorted, there are 4 regions overall: <Darktable>/global/*, <Darktable>/views/*, <Darktable>/modules/* and <Darktable>/image operations/*. I think, any configured shortcuts, are processed in that order. First check for global, than look at views and so on. In that file <Primary> is the Control key.

Since I’m very much at the beginning of my work with Darktable I’ve wanted the standard key bindings in a slightly better formatting than the Darktable manual. Therefore I created the following (this needs refinement in time to come).


Key Function
Control+h toggle header
Tab toggle side borders
Escape leave fullscreen
Control+q quit
period switch view
d darkroom view
l lighttable view
m map view
t capture view
F7 decrease contrast
F8 increase contrast
F9 decrease brightness
F10 increase brightness
F11 toggle fullscreen

Image Operations

Key Function
Return commit
Control+g toggle gamutcheck
Control+s toggle softproofing
[ rotate 90 degrees CCW
] rotate 90 degrees CW

Use the right mouse button in the Crop module to draw a line to correct the picture vertically or horizontally.

History (Module)

Key Function
Control+c copy all
Control+Shift+c copy
Control+v paste all
Control+Shift+v paste

Image (Module)

Key Function
Control+d duplicate
Control+g group
Control+Shift+g ungroup

Export/Import (Module)

Key Function
Control+e export
Control+Shift+i import folder

Film Strip (Module)

Key Function
Control+Shift+c copy history parts
Control+c copy history
Control+d duplicate image
Control+i invert selection
Control+Shift+v paste history parts
Control+v paste history
Control+a select all
Control+Shift+a select none
r rate reject
0 … 5 rate 0 – 5
F1 color red
F2 color yellow
F3 color green
F4 color blue
F5 color purple

Light Table (View)

Key Function
Control+i invert selection
Control+a select all
Control+Shift+a select none
Alt+1 zoom max
Alt+2 zoom in
Alt+3 zoom out
Alt+4 zoom min
Control+z preview with focus detection
z preview
0 … 5, r rate 0 – 5, reject (same as in Film Strip)
F1 … F5 color … (same as in Film Strip)
l realign images to grid
Shift+g navigate down
Page_Down navigate page down
Page_Up navigate page up
g navigate up
apostrophe scroll center
Down scroll down
Left scroll left
Right scroll right
Up scroll up

Darkroom (View)

Key Function
Control+e export
Control+f toggle film strip
BackSpace image back
space image forward
o overexposed
Alt+1 zoom close-up
Alt+2 zoom fill
Alt+3 zoom fit

Pressing Alt+1 repeatedly toggles between 100% and 200% view.

Map (View)

Key Function
Control-r redo
Control-f toggle film strip
Control-z undo

Misc (Various Modules)

Key Function
v toggle live view
Control+j jump to file roll
Control+k jump back to previous collection
Control+t tag

Multiple Sound Cards under Linux

End of last year, I decided it was time for a hardware update of my desktop computer. I exchanged the Gigabyte GA-P35-DS3 motherboard and the Core2 E6350 processor with an ASROCK Fatal1ty H87 motherboard and an Intel i5-4670 quad core processor.

The reason, why I choose this particular motherboard, are the on-board sound components. ASROCK put a little more effort into the design and the selection of the audio circuitry to achieve a better signal to noise ratio. I can’t compare with other H87 board designs, but compared to my old Gigabyte board this effort has definitely paid off. I’m hearing significantly less noise for instance when the mouse is moved. I guess that’s the best they can do considering that frequencies well into the giga hertz range are at work on a motherboard. The next step up is the use of an external USB sound card. My old Edirol UA1EX USB sound card is once again noticeably quieter than the motherboard sound.

Anyway, the hardware update went with minimal fuss and soon after installing everything the system was up and running again.

The only problem left was a reliable order of all available audio devices (two motherboard devices for standard and HDMI audio, a Webcam with microphone and the Edirol UA1EX). Searching on the internet didn’t supply an immediate solution applicable to my setup.

In the end this article provided the right hints in that the suggestions for the USB sound cards basically also need to be applied to the Intel HD audio driver.

This is my configuration for the ALSA sound system:

% cat /etc/modprobe.d/alsa.conf
options snd-hda-intel index=0,1 id=PCH,HDMI
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel

options snd-usb-audio index=2,3 vid=0x0582,0x046d pid=0x0096,0x081d
alias snd-card-2 snd-usb-audio
alias snd-card-3 snd-usb-audio
alias sound-slot-0 snd-hda-intel
alias sound-slot-1 snd-hda-intel
alias sound-slot-2 snd-usb-audio
alias sound-slot-3 snd-usb-audio
# Set this to the correct number of cards.

options snd cards_limit=4

This leads to the following reliable order of sound devices:

% cat /proc/asound/cards                                                               
 0 [PCH            ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf0534000 irq 45
 1 [HDMI           ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf0530000 irq 46
 2 [UA1EX          ]: USB-Audio - UA-1EX
                      EDIROL UA-1EX at usb-0000:00:14.0-8, full speed
 3 [U0x46d0x81d    ]: USB-Audio - USB Device 0x46d:0x81d
                      USB Device 0x46d:0x81d at usb-0000:00:1a.0-1.6.2, high speed

There is a Linux dependency with the above. Before Linux 3.11 or 3.12 the HDMI sound device was actually called MCH if I remember correctly.