Some custom shortcuts with <Shift> modifier don't work
When I change the shortcut for e.g. sticky preview to '<Shift>z' it only works until restart of darktable.
I have noticed this behaviour on windows but debugged it on macOS.
The problem is that
gtk_accel_map_load() are not symmretical.
gtk_accelerator_name(90, GDK_SHIFT_MASK) and
gtk_accelerator_name(122, GDK_SHIFT_MASK) both return '<Shift>z'
gtk_accelerator_parse() for '<Shift>z' gets 122 as accelerator_key.
In darktable after assigning the shortcut,
accels->lighttable_preview_sticky.accel_key = 90 but after restart it is 122.
One possible solution is to use
gdk_keyval_to_lower() for shortcut preferences assigment and the
key_pressed()/key_released() functions where the keyval is compared later.
Attached is a patch that fixes the problem for me, but I don't know of any possible side effects.