keyboard: Allow Tab in accels

gtk_accelerator_valid() doesn't accept Tab as keyval, so using it to
check whether a shortcut is valid breaks commonly used shortcuts like
Alt+Tab. Unbreak those by adding a small wrapper that special-cases
Tab-with-modifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=771058
This commit is contained in:
Florian Müllner 2016-09-08 14:31:34 +02:00 committed by Bastien Nocera
parent 784d8f89de
commit 4beb7cefd4
3 changed files with 15 additions and 1 deletions

View file

@ -282,7 +282,7 @@ setup_custom_shortcut (CcKeyboardShortcutEditor *self)
is_custom = is_custom_shortcut (self);
accel_valid = is_valid_binding (self->custom_keyval, self->custom_mask, self->custom_keycode) &&
gtk_accelerator_valid (self->custom_keyval, self->custom_mask) &&
is_valid_accel (self->custom_keyval, self->custom_mask) &&
!self->custom_is_modifier;
if (is_empty_binding (self->custom_keyval, self->custom_mask, self->custom_keycode))
accel_valid = TRUE;