Bug 754171 - cmd - missing modifier key to configure input controllers

Don't hardcode modifier masks in the wheel and keyboard input
controllers. Instead, hardcode accelerator strings and get the right
modifier mask from gtk_accelerator_parse() at runtime.

This turns e.g. "<Shift><Primary>" into Shift+Cmd on OS X and into
Shift+Ctrl on X11 and Windows.

Also rename the events accordingly and change the event names in the
default controllerrc.

Unrelated: reorder the actions so the ones with less modifiers are
listed first, and change the order of action matching to match the
actions with most modifiers (the last ones) first.
This commit is contained in:
Michael Natterer 2015-09-08 23:18:33 +02:00
parent eba7066748
commit e50103ccda
3 changed files with 183 additions and 157 deletions

View File

@ -2,7 +2,7 @@
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
* *
* gimpcontrollerkeyboard.c * gimpcontrollerkeyboard.c
* Copyright (C) 2004 Michael Natterer <mitch@gimp.org> * Copyright (C) 2004-2015 Michael Natterer <mitch@gimp.org>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -40,7 +40,8 @@ typedef struct _KeyboardEvent KeyboardEvent;
struct _KeyboardEvent struct _KeyboardEvent
{ {
const guint keyval; const guint keyval;
const GdkModifierType modifiers; const gchar *modifier_string;
GdkModifierType modifiers;
const gchar *name; const gchar *name;
const gchar *blurb; const gchar *blurb;
}; };
@ -63,104 +64,104 @@ G_DEFINE_TYPE (GimpControllerKeyboard, gimp_controller_keyboard,
static KeyboardEvent keyboard_events[] = static KeyboardEvent keyboard_events[] =
{ {
{ GDK_KEY_Up, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_KEY_Up, NULL, 0,
"cursor-up-shift-control-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_MOD1_MASK | GDK_CONTROL_MASK,
"cursor-up-control-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_MOD1_MASK | GDK_SHIFT_MASK,
"cursor-up-shift-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
"cursor-up-shift-control",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_MOD1_MASK,
"cursor-up-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_CONTROL_MASK,
"cursor-up-control",
N_("Cursor Up") },
{ GDK_KEY_Up, GDK_SHIFT_MASK,
"cursor-up-shift",
N_("Cursor Up") },
{ GDK_KEY_Up, 0,
"cursor-up", "cursor-up",
N_("Cursor Up") }, N_("Cursor Up") },
{ GDK_KEY_Up, "<Shift>", 0,
"cursor-up-shift",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Primary>", 0,
"cursor-up-control",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Alt>", 0,
"cursor-up-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Shift><Primary>", 0,
"cursor-up-shift-control",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Shift><Alt>", 0,
"cursor-up-shift-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Primary><Alt>", 0,
"cursor-up-control-alt",
N_("Cursor Up") },
{ GDK_KEY_Up, "<Shift><Primary><Alt>", 0,
"cursor-up-shift-control-alt",
N_("Cursor Up") },
{ GDK_KEY_Down, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_KEY_Down, NULL, 0,
"cursor-down-shift-control-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_MOD1_MASK | GDK_CONTROL_MASK,
"cursor-down-control-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_MOD1_MASK | GDK_SHIFT_MASK,
"cursor-down-shift-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
"cursor-down-shift-control",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_MOD1_MASK,
"cursor-down-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_CONTROL_MASK,
"cursor-down-control",
N_("Cursor Down") },
{ GDK_KEY_Down, GDK_SHIFT_MASK,
"cursor-down-shift",
N_("Cursor Down") },
{ GDK_KEY_Down, 0,
"cursor-down", "cursor-down",
N_("Cursor Down") }, N_("Cursor Down") },
{ GDK_KEY_Down, "<Shift>", 0,
"cursor-down-shift",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Primary>", 0,
"cursor-down-control",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Alt>", 0,
"cursor-down-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Shift><Primary>", 0,
"cursor-down-shift-control",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Shift><Alt>", 0,
"cursor-down-shift-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Primary><Alt>", 0,
"cursor-down-control-alt",
N_("Cursor Down") },
{ GDK_KEY_Down, "<Shift><Primary><Alt>", 0,
"cursor-down-shift-control-alt",
N_("Cursor Down") },
{ GDK_KEY_Left, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_KEY_Left, NULL, 0,
"cursor-left-shift-control-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_MOD1_MASK | GDK_CONTROL_MASK,
"cursor-left-control-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_MOD1_MASK | GDK_SHIFT_MASK,
"cursor-left-shift-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
"cursor-left-shift-control",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_MOD1_MASK,
"cursor-left-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_CONTROL_MASK,
"cursor-left-control",
N_("Cursor Left") },
{ GDK_KEY_Left, GDK_SHIFT_MASK,
"cursor-left-shift",
N_("Cursor Left") },
{ GDK_KEY_Left, 0,
"cursor-left", "cursor-left",
N_("Cursor Left") }, N_("Cursor Left") },
{ GDK_KEY_Left, "<Shift>", 0,
"cursor-left-shift",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Primary>", 0,
"cursor-left-control",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Alt>", 0,
"cursor-left-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Shift><Primary>", 0,
"cursor-left-shift-control",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Shift><Alt>", 0,
"cursor-left-shift-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Primary><Alt>", 0,
"cursor-left-control-alt",
N_("Cursor Left") },
{ GDK_KEY_Left, "<Shift><Primary><Alt>", 0,
"cursor-left-shift-control-alt",
N_("Cursor Left") },
{ GDK_KEY_Right, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_KEY_Right, NULL, 0,
"cursor-right-shift-control-alt", "cursor-right",
N_("Cursor Right") }, N_("Cursor Right") },
{ GDK_KEY_Right, GDK_MOD1_MASK | GDK_CONTROL_MASK, { GDK_KEY_Right, "<Shift>", 0,
"cursor-right-control-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, GDK_MOD1_MASK | GDK_SHIFT_MASK,
"cursor-right-shift-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
"cursor-right-shift-control",
N_("Cursor Right") },
{ GDK_KEY_Right, GDK_MOD1_MASK,
"cursor-right-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, GDK_CONTROL_MASK,
"cursor-right-control",
N_("Cursor Right") },
{ GDK_KEY_Right, GDK_SHIFT_MASK,
"cursor-right-shift", "cursor-right-shift",
N_("Cursor Right") }, N_("Cursor Right") },
{ GDK_KEY_Right, 0, { GDK_KEY_Right, "<Primary>", 0,
"cursor-right", "cursor-right-control",
N_("Cursor Right") },
{ GDK_KEY_Right, "<Alt>", 0,
"cursor-right-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, "<Shift><Primary>", 0,
"cursor-right-shift-control",
N_("Cursor Right") },
{ GDK_KEY_Right, "<Shift><Alt>", 0,
"cursor-right-shift-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, "<Primary><Alt>", 0,
"cursor-right-control-alt",
N_("Cursor Right") },
{ GDK_KEY_Right, "<Shift><Primary><Alt>", 0,
"cursor-right-shift-control-alt",
N_("Cursor Right") } N_("Cursor Right") }
}; };
@ -195,12 +196,22 @@ gimp_controller_keyboard_init (GimpControllerKeyboard *keyboard)
{ {
KeyboardEvent *kevent = &keyboard_events[i]; KeyboardEvent *kevent = &keyboard_events[i];
if (kevent->modifier_string)
{
gtk_accelerator_parse (kevent->modifier_string, NULL,
&kevent->modifiers);
}
if (kevent->modifiers != 0) if (kevent->modifiers != 0)
{ {
kevent->blurb = kevent->blurb =
g_strdup_printf ("%s (%s)", gettext (kevent->blurb), g_strdup_printf ("%s (%s)", gettext (kevent->blurb),
gimp_get_mod_string (kevent->modifiers)); gimp_get_mod_string (kevent->modifiers));
} }
else
{
kevent->blurb = gettext (kevent->blurb);
}
} }
event_names_initialized = TRUE; event_names_initialized = TRUE;
@ -253,7 +264,10 @@ gimp_controller_keyboard_key_press (GimpControllerKeyboard *keyboard,
g_return_val_if_fail (GIMP_IS_CONTROLLER_KEYBOARD (keyboard), FALSE); g_return_val_if_fail (GIMP_IS_CONTROLLER_KEYBOARD (keyboard), FALSE);
g_return_val_if_fail (kevent != NULL, FALSE); g_return_val_if_fail (kevent != NULL, FALSE);
for (i = 0; i < G_N_ELEMENTS (keyboard_events); i++) /* start with the last event because the last ones in the
* up,down,left,right groups have the most keyboard modifiers
*/
for (i = G_N_ELEMENTS (keyboard_events) - 1; i >= 0; i--)
{ {
if (keyboard_events[i].keyval == kevent->keyval) if (keyboard_events[i].keyval == kevent->keyval)
{ {

View File

@ -2,7 +2,7 @@
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
* *
* gimpcontrollerwheel.c * gimpcontrollerwheel.c
* Copyright (C) 2004 Michael Natterer <mitch@gimp.org> * Copyright (C) 2004-2015 Michael Natterer <mitch@gimp.org>
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -34,15 +34,13 @@
#include "gimp-intl.h" #include "gimp-intl.h"
#define MODIFIER_MASK (GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK)
typedef struct _WheelEvent WheelEvent; typedef struct _WheelEvent WheelEvent;
struct _WheelEvent struct _WheelEvent
{ {
const GdkScrollDirection direction; const GdkScrollDirection direction;
const GdkModifierType modifiers; const gchar *modifier_string;
GdkModifierType modifiers;
const gchar *name; const gchar *name;
const gchar *blurb; const gchar *blurb;
}; };
@ -65,104 +63,104 @@ G_DEFINE_TYPE (GimpControllerWheel, gimp_controller_wheel,
static WheelEvent wheel_events[] = static WheelEvent wheel_events[] =
{ {
{ GDK_SCROLL_UP, 0, { GDK_SCROLL_UP, NULL, 0,
"scroll-up", "scroll-up",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_SHIFT_MASK, { GDK_SCROLL_UP, "<Shift>", 0,
"scroll-up-shift", "scroll-up-shift",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_CONTROL_MASK, { GDK_SCROLL_UP, "<Primary>", 0,
"scroll-up-control", "scroll-up-primary",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_MOD1_MASK, { GDK_SCROLL_UP, "<Alt>", 0,
"scroll-up-alt", "scroll-up-alt",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_UP, "<Shift><Primary>", 0,
"scroll-up-shift-control", "scroll-up-shift-primary",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_UP, "<Shift><Alt>", 0,
"scroll-up-shift-alt", "scroll-up-shift-alt",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_CONTROL_MASK, { GDK_SCROLL_UP, "<Primary><Alt>", 0,
"scroll-up-control-alt", "scroll-up-primary-alt",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_UP, "<Shift><Primary><Alt>", 0,
"scroll-up-shift-control-alt", "scroll-up-shift-primary-alt",
N_("Scroll Up") }, N_("Scroll Up") },
{ GDK_SCROLL_DOWN, 0, { GDK_SCROLL_DOWN, NULL, 0,
"scroll-down", "scroll-down",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_SHIFT_MASK, { GDK_SCROLL_DOWN, "<Shift>", 0,
"scroll-down-shift", "scroll-down-shift",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_CONTROL_MASK, { GDK_SCROLL_DOWN, "<Primary>", 0,
"scroll-down-control", "scroll-down-primary",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_MOD1_MASK, { GDK_SCROLL_DOWN, "<Alt>", 0,
"scroll-down-alt", "scroll-down-alt",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_DOWN, "<Shift><Primary>", 0,
"scroll-down-shift-control", "scroll-down-shift-primary",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_DOWN, "<Shift><Alt>", 0,
"scroll-down-shift-alt", "scroll-down-shift-alt",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_CONTROL_MASK, { GDK_SCROLL_DOWN, "<Primary><Alt>", 0,
"scroll-down-control-alt", "scroll-down-primary-alt",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_DOWN, "<Shift><Primary><Alt>", 0,
"scroll-down-shift-control-alt", "scroll-down-shift-primary-alt",
N_("Scroll Down") }, N_("Scroll Down") },
{ GDK_SCROLL_LEFT, 0, { GDK_SCROLL_LEFT, NULL, 0,
"scroll-left", "scroll-left",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_SHIFT_MASK, { GDK_SCROLL_LEFT, "<Shift>", 0,
"scroll-left-shift", "scroll-left-shift",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_CONTROL_MASK, { GDK_SCROLL_LEFT, "<Primary>", 0,
"scroll-left-control", "scroll-left-primary",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_MOD1_MASK, { GDK_SCROLL_LEFT, "<Alt>", 0,
"scroll-left-alt", "scroll-left-alt",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_LEFT, "<Shift><Primary>", 0,
"scroll-left-shift-control", "scroll-left-shift-primary",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_LEFT, "<Shift><Alt>", 0,
"scroll-left-shift-alt", "scroll-left-shift-alt",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_CONTROL_MASK, { GDK_SCROLL_LEFT, "<Primary><Alt>", 0,
"scroll-left-control-alt", "scroll-left-primary-alt",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_LEFT, "<Shift><Primary><Alt>", 0,
"scroll-left-shift-control-alt", "scroll-left-shift-primary-alt",
N_("Scroll Left") }, N_("Scroll Left") },
{ GDK_SCROLL_RIGHT, 0, { GDK_SCROLL_RIGHT, NULL, 0,
"scroll-right", "scroll-right",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_SHIFT_MASK, { GDK_SCROLL_RIGHT, "<Shift>", 0,
"scroll-right-shift", "scroll-right-shift",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_CONTROL_MASK, { GDK_SCROLL_RIGHT, "<Primary>", 0,
"scroll-right-control", "scroll-right-primary",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_MOD1_MASK, { GDK_SCROLL_RIGHT, "<Alt>", 0,
"scroll-right-alt", "scroll-right-alt",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_RIGHT, "<Shift><Primary>", 0,
"scroll-right-shift-control", "scroll-right-shift-primary",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_RIGHT, "<Shift><Alt>", 0,
"scroll-right-shift-alt", "scroll-right-shift-alt",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_CONTROL_MASK, { GDK_SCROLL_RIGHT, "<Primary><Alt>", 0,
"scroll-right-control-alt", "scroll-right-primary-alt",
N_("Scroll Right") }, N_("Scroll Right") },
{ GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK, { GDK_SCROLL_RIGHT, "<Shift><Primary><Alt>", 0,
"scroll-right-shift-control-alt", "scroll-right-shift-primary-alt",
N_("Scroll Right") } N_("Scroll Right") }
}; };
@ -187,9 +185,9 @@ gimp_controller_wheel_class_init (GimpControllerWheelClass *klass)
static void static void
gimp_controller_wheel_init (GimpControllerWheel *wheel) gimp_controller_wheel_init (GimpControllerWheel *wheel)
{ {
static gboolean event_names_initialized = FALSE; static gboolean events_initialized = FALSE;
if (! event_names_initialized) if (! events_initialized)
{ {
gint i; gint i;
@ -197,15 +195,25 @@ gimp_controller_wheel_init (GimpControllerWheel *wheel)
{ {
WheelEvent *wevent = &wheel_events[i]; WheelEvent *wevent = &wheel_events[i];
if (wevent->modifier_string)
{
gtk_accelerator_parse (wevent->modifier_string, NULL,
&wevent->modifiers);
}
if (wevent->modifiers != 0) if (wevent->modifiers != 0)
{ {
wevent->blurb = wevent->blurb =
g_strdup_printf ("%s (%s)", gettext (wevent->blurb), g_strdup_printf ("%s (%s)", gettext (wevent->blurb),
gimp_get_mod_string (wevent->modifiers)); gimp_get_mod_string (wevent->modifiers));
} }
else
{
wevent->blurb = gettext (wevent->blurb);
}
} }
event_names_initialized = TRUE; events_initialized = TRUE;
} }
} }
@ -255,11 +263,15 @@ gimp_controller_wheel_scroll (GimpControllerWheel *wheel,
g_return_val_if_fail (GIMP_IS_CONTROLLER_WHEEL (wheel), FALSE); g_return_val_if_fail (GIMP_IS_CONTROLLER_WHEEL (wheel), FALSE);
g_return_val_if_fail (sevent != NULL, FALSE); g_return_val_if_fail (sevent != NULL, FALSE);
for (i = 0; i < G_N_ELEMENTS (wheel_events); i++) /* start with the last event because the last ones in the
* up,down,left,right groups have the most keyboard modifiers
*/
for (i = G_N_ELEMENTS (wheel_events) - 1; i >= 0; i--)
{ {
if (wheel_events[i].direction == sevent->direction) if (wheel_events[i].direction == sevent->direction)
{ {
if ((sevent->state & MODIFIER_MASK) == wheel_events[i].modifiers) if ((wheel_events[i].modifiers & sevent->state) ==
wheel_events[i].modifiers)
{ {
GimpControllerEvent controller_event; GimpControllerEvent controller_event;
GimpControllerEventTrigger *trigger; GimpControllerEventTrigger *trigger;

View File

@ -7,14 +7,14 @@
(mapping (mapping
(map "scroll-up-alt" "tools-opacity-increase-skip") (map "scroll-up-alt" "tools-opacity-increase-skip")
(map "scroll-down-alt" "tools-opacity-decrease-skip") (map "scroll-down-alt" "tools-opacity-decrease-skip")
(map "scroll-up-control-alt" "context-gradient-select-next") (map "scroll-up-primary-alt" "context-gradient-select-next")
(map "scroll-down-control-alt" "context-gradient-select-previous") (map "scroll-down-primary-alt" "context-gradient-select-previous")
(map "scroll-up-shift-alt" "context-pattern-select-next") (map "scroll-up-shift-alt" "context-pattern-select-next")
(map "scroll-down-shift-alt" "context-pattern-select-previous") (map "scroll-down-shift-alt" "context-pattern-select-previous")
(map "scroll-up-shift-control" "context-brush-select-next") (map "scroll-up-shift-primary" "context-brush-select-next")
(map "scroll-down-shift-control" "context-brush-select-previous") (map "scroll-down-shift-primary" "context-brush-select-previous")
(map "scroll-up-shift-control-alt" "context-font-select-next") (map "scroll-up-shift-primary-alt" "context-font-select-next")
(map "scroll-down-shift-control-alt" "context-font-select-previous"))) (map "scroll-down-shift-primary-alt" "context-font-select-previous")))
(GimpControllerInfo "Main Keyboard" (GimpControllerInfo "Main Keyboard"
(enabled yes) (enabled yes)
@ -25,10 +25,10 @@
(map "cursor-down-shift" "view-scroll-page-down") (map "cursor-down-shift" "view-scroll-page-down")
(map "cursor-left-shift" "view-scroll-page-left") (map "cursor-left-shift" "view-scroll-page-left")
(map "cursor-right-shift" "view-scroll-page-right") (map "cursor-right-shift" "view-scroll-page-right")
(map "cursor-up-control" "view-scroll-top-border") (map "cursor-up-primary" "view-scroll-top-border")
(map "cursor-down-control" "view-scroll-bottom-border") (map "cursor-down-primary" "view-scroll-bottom-border")
(map "cursor-left-control" "view-scroll-left-border") (map "cursor-left-primary" "view-scroll-left-border")
(map "cursor-right-control" "view-scroll-right-border") (map "cursor-right-primary" "view-scroll-right-border")
(map "cursor-up-alt" "tools-value-1-increase-skip") (map "cursor-up-alt" "tools-value-1-increase-skip")
(map "cursor-down-alt" "tools-value-1-decrease-skip") (map "cursor-down-alt" "tools-value-1-decrease-skip")
(map "cursor-left-alt" "tools-value-1-decrease") (map "cursor-left-alt" "tools-value-1-decrease")