[gimp] Bug 754171 - cmd - missing modifier key to configure input controllers
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Bug 754171 - cmd - missing modifier key to configure input controllers
- Date: Tue, 8 Sep 2015 21:25:49 +0000 (UTC)
commit e50103ccda848217f5890545d7a77646f36e4324
Author: Michael Natterer <mitch gimp org>
Date: Tue Sep 8 23:18:33 2015 +0200
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.
app/widgets/gimpcontrollerkeyboard.c | 148 ++++++++++++++++++---------------
app/widgets/gimpcontrollerwheel.c | 128 ++++++++++++++++-------------
etc/controllerrc | 20 +++---
3 files changed, 161 insertions(+), 135 deletions(-)
---
diff --git a/app/widgets/gimpcontrollerkeyboard.c b/app/widgets/gimpcontrollerkeyboard.c
index a2db149..3277f2a 100644
--- a/app/widgets/gimpcontrollerkeyboard.c
+++ b/app/widgets/gimpcontrollerkeyboard.c
@@ -2,7 +2,7 @@
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* 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
* it under the terms of the GNU General Public License as published by
@@ -40,7 +40,8 @@ typedef struct _KeyboardEvent KeyboardEvent;
struct _KeyboardEvent
{
const guint keyval;
- const GdkModifierType modifiers;
+ const gchar *modifier_string;
+ GdkModifierType modifiers;
const gchar *name;
const gchar *blurb;
};
@@ -63,104 +64,104 @@ G_DEFINE_TYPE (GimpControllerKeyboard, gimp_controller_keyboard,
static KeyboardEvent keyboard_events[] =
{
- { GDK_KEY_Up, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "cursor-up-shift-control-alt",
- N_("Cursor Up") },
- { GDK_KEY_Up, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "cursor-up-control-alt",
+ { GDK_KEY_Up, NULL, 0,
+ "cursor-up",
N_("Cursor Up") },
- { GDK_KEY_Up, GDK_MOD1_MASK | GDK_SHIFT_MASK,
- "cursor-up-shift-alt",
+ { GDK_KEY_Up, "<Shift>", 0,
+ "cursor-up-shift",
N_("Cursor Up") },
- { GDK_KEY_Up, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "cursor-up-shift-control",
+ { GDK_KEY_Up, "<Primary>", 0,
+ "cursor-up-control",
N_("Cursor Up") },
- { GDK_KEY_Up, GDK_MOD1_MASK,
+ { GDK_KEY_Up, "<Alt>", 0,
"cursor-up-alt",
N_("Cursor Up") },
- { GDK_KEY_Up, GDK_CONTROL_MASK,
- "cursor-up-control",
+ { GDK_KEY_Up, "<Shift><Primary>", 0,
+ "cursor-up-shift-control",
N_("Cursor Up") },
- { GDK_KEY_Up, GDK_SHIFT_MASK,
- "cursor-up-shift",
+ { GDK_KEY_Up, "<Shift><Alt>", 0,
+ "cursor-up-shift-alt",
N_("Cursor Up") },
- { GDK_KEY_Up, 0,
- "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,
- "cursor-down-shift-control-alt",
- N_("Cursor Down") },
- { GDK_KEY_Down, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "cursor-down-control-alt",
+ { GDK_KEY_Down, NULL, 0,
+ "cursor-down",
N_("Cursor Down") },
- { GDK_KEY_Down, GDK_MOD1_MASK | GDK_SHIFT_MASK,
- "cursor-down-shift-alt",
+ { GDK_KEY_Down, "<Shift>", 0,
+ "cursor-down-shift",
N_("Cursor Down") },
- { GDK_KEY_Down, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "cursor-down-shift-control",
+ { GDK_KEY_Down, "<Primary>", 0,
+ "cursor-down-control",
N_("Cursor Down") },
- { GDK_KEY_Down, GDK_MOD1_MASK,
+ { GDK_KEY_Down, "<Alt>", 0,
"cursor-down-alt",
N_("Cursor Down") },
- { GDK_KEY_Down, GDK_CONTROL_MASK,
- "cursor-down-control",
+ { GDK_KEY_Down, "<Shift><Primary>", 0,
+ "cursor-down-shift-control",
N_("Cursor Down") },
- { GDK_KEY_Down, GDK_SHIFT_MASK,
- "cursor-down-shift",
+ { GDK_KEY_Down, "<Shift><Alt>", 0,
+ "cursor-down-shift-alt",
N_("Cursor Down") },
- { GDK_KEY_Down, 0,
- "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,
- "cursor-left-shift-control-alt",
- N_("Cursor Left") },
- { GDK_KEY_Left, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "cursor-left-control-alt",
+ { GDK_KEY_Left, NULL, 0,
+ "cursor-left",
N_("Cursor Left") },
- { GDK_KEY_Left, GDK_MOD1_MASK | GDK_SHIFT_MASK,
- "cursor-left-shift-alt",
+ { GDK_KEY_Left, "<Shift>", 0,
+ "cursor-left-shift",
N_("Cursor Left") },
- { GDK_KEY_Left, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "cursor-left-shift-control",
+ { GDK_KEY_Left, "<Primary>", 0,
+ "cursor-left-control",
N_("Cursor Left") },
- { GDK_KEY_Left, GDK_MOD1_MASK,
+ { GDK_KEY_Left, "<Alt>", 0,
"cursor-left-alt",
N_("Cursor Left") },
- { GDK_KEY_Left, GDK_CONTROL_MASK,
- "cursor-left-control",
+ { GDK_KEY_Left, "<Shift><Primary>", 0,
+ "cursor-left-shift-control",
N_("Cursor Left") },
- { GDK_KEY_Left, GDK_SHIFT_MASK,
- "cursor-left-shift",
+ { GDK_KEY_Left, "<Shift><Alt>", 0,
+ "cursor-left-shift-alt",
N_("Cursor Left") },
- { GDK_KEY_Left, 0,
- "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,
- "cursor-right-shift-control-alt",
- N_("Cursor Right") },
- { GDK_KEY_Right, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "cursor-right-control-alt",
+ { GDK_KEY_Right, NULL, 0,
+ "cursor-right",
N_("Cursor Right") },
- { GDK_KEY_Right, GDK_MOD1_MASK | GDK_SHIFT_MASK,
- "cursor-right-shift-alt",
+ { GDK_KEY_Right, "<Shift>", 0,
+ "cursor-right-shift",
N_("Cursor Right") },
- { GDK_KEY_Right, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "cursor-right-shift-control",
+ { GDK_KEY_Right, "<Primary>", 0,
+ "cursor-right-control",
N_("Cursor Right") },
- { GDK_KEY_Right, GDK_MOD1_MASK,
+ { GDK_KEY_Right, "<Alt>", 0,
"cursor-right-alt",
N_("Cursor Right") },
- { GDK_KEY_Right, GDK_CONTROL_MASK,
- "cursor-right-control",
+ { GDK_KEY_Right, "<Shift><Primary>", 0,
+ "cursor-right-shift-control",
N_("Cursor Right") },
- { GDK_KEY_Right, GDK_SHIFT_MASK,
- "cursor-right-shift",
+ { GDK_KEY_Right, "<Shift><Alt>", 0,
+ "cursor-right-shift-alt",
N_("Cursor Right") },
- { GDK_KEY_Right, 0,
- "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") }
};
@@ -195,12 +196,22 @@ gimp_controller_keyboard_init (GimpControllerKeyboard *keyboard)
{
KeyboardEvent *kevent = &keyboard_events[i];
+ if (kevent->modifier_string)
+ {
+ gtk_accelerator_parse (kevent->modifier_string, NULL,
+ &kevent->modifiers);
+ }
+
if (kevent->modifiers != 0)
{
kevent->blurb =
g_strdup_printf ("%s (%s)", gettext (kevent->blurb),
gimp_get_mod_string (kevent->modifiers));
}
+ else
+ {
+ kevent->blurb = gettext (kevent->blurb);
+ }
}
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 (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)
{
diff --git a/app/widgets/gimpcontrollerwheel.c b/app/widgets/gimpcontrollerwheel.c
index e97ce93..b3f5ea1 100644
--- a/app/widgets/gimpcontrollerwheel.c
+++ b/app/widgets/gimpcontrollerwheel.c
@@ -2,7 +2,7 @@
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* 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
* it under the terms of the GNU General Public License as published by
@@ -34,15 +34,13 @@
#include "gimp-intl.h"
-#define MODIFIER_MASK (GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK)
-
-
typedef struct _WheelEvent WheelEvent;
struct _WheelEvent
{
const GdkScrollDirection direction;
- const GdkModifierType modifiers;
+ const gchar *modifier_string;
+ GdkModifierType modifiers;
const gchar *name;
const gchar *blurb;
};
@@ -65,104 +63,104 @@ G_DEFINE_TYPE (GimpControllerWheel, gimp_controller_wheel,
static WheelEvent wheel_events[] =
{
- { GDK_SCROLL_UP, 0,
+ { GDK_SCROLL_UP, NULL, 0,
"scroll-up",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_SHIFT_MASK,
+ { GDK_SCROLL_UP, "<Shift>", 0,
"scroll-up-shift",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_CONTROL_MASK,
- "scroll-up-control",
+ { GDK_SCROLL_UP, "<Primary>", 0,
+ "scroll-up-primary",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_MOD1_MASK,
+ { GDK_SCROLL_UP, "<Alt>", 0,
"scroll-up-alt",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-up-shift-control",
+ { GDK_SCROLL_UP, "<Shift><Primary>", 0,
+ "scroll-up-shift-primary",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_SHIFT_MASK,
+ { GDK_SCROLL_UP, "<Shift><Alt>", 0,
"scroll-up-shift-alt",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "scroll-up-control-alt",
+ { GDK_SCROLL_UP, "<Primary><Alt>", 0,
+ "scroll-up-primary-alt",
N_("Scroll Up") },
- { GDK_SCROLL_UP, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-up-shift-control-alt",
+ { GDK_SCROLL_UP, "<Shift><Primary><Alt>", 0,
+ "scroll-up-shift-primary-alt",
N_("Scroll Up") },
- { GDK_SCROLL_DOWN, 0,
+ { GDK_SCROLL_DOWN, NULL, 0,
"scroll-down",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_SHIFT_MASK,
+ { GDK_SCROLL_DOWN, "<Shift>", 0,
"scroll-down-shift",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_CONTROL_MASK,
- "scroll-down-control",
+ { GDK_SCROLL_DOWN, "<Primary>", 0,
+ "scroll-down-primary",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_MOD1_MASK,
+ { GDK_SCROLL_DOWN, "<Alt>", 0,
"scroll-down-alt",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-down-shift-control",
+ { GDK_SCROLL_DOWN, "<Shift><Primary>", 0,
+ "scroll-down-shift-primary",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_SHIFT_MASK,
+ { GDK_SCROLL_DOWN, "<Shift><Alt>", 0,
"scroll-down-shift-alt",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "scroll-down-control-alt",
+ { GDK_SCROLL_DOWN, "<Primary><Alt>", 0,
+ "scroll-down-primary-alt",
N_("Scroll Down") },
- { GDK_SCROLL_DOWN, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-down-shift-control-alt",
+ { GDK_SCROLL_DOWN, "<Shift><Primary><Alt>", 0,
+ "scroll-down-shift-primary-alt",
N_("Scroll Down") },
- { GDK_SCROLL_LEFT, 0,
+ { GDK_SCROLL_LEFT, NULL, 0,
"scroll-left",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_SHIFT_MASK,
+ { GDK_SCROLL_LEFT, "<Shift>", 0,
"scroll-left-shift",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_CONTROL_MASK,
- "scroll-left-control",
+ { GDK_SCROLL_LEFT, "<Primary>", 0,
+ "scroll-left-primary",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_MOD1_MASK,
+ { GDK_SCROLL_LEFT, "<Alt>", 0,
"scroll-left-alt",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-left-shift-control",
+ { GDK_SCROLL_LEFT, "<Shift><Primary>", 0,
+ "scroll-left-shift-primary",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_SHIFT_MASK,
+ { GDK_SCROLL_LEFT, "<Shift><Alt>", 0,
"scroll-left-shift-alt",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "scroll-left-control-alt",
+ { GDK_SCROLL_LEFT, "<Primary><Alt>", 0,
+ "scroll-left-primary-alt",
N_("Scroll Left") },
- { GDK_SCROLL_LEFT, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-left-shift-control-alt",
+ { GDK_SCROLL_LEFT, "<Shift><Primary><Alt>", 0,
+ "scroll-left-shift-primary-alt",
N_("Scroll Left") },
- { GDK_SCROLL_RIGHT, 0,
+ { GDK_SCROLL_RIGHT, NULL, 0,
"scroll-right",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_SHIFT_MASK,
+ { GDK_SCROLL_RIGHT, "<Shift>", 0,
"scroll-right-shift",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_CONTROL_MASK,
- "scroll-right-control",
+ { GDK_SCROLL_RIGHT, "<Primary>", 0,
+ "scroll-right-primary",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_MOD1_MASK,
+ { GDK_SCROLL_RIGHT, "<Alt>", 0,
"scroll-right-alt",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-right-shift-control",
+ { GDK_SCROLL_RIGHT, "<Shift><Primary>", 0,
+ "scroll-right-shift-primary",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_SHIFT_MASK,
+ { GDK_SCROLL_RIGHT, "<Shift><Alt>", 0,
"scroll-right-shift-alt",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_CONTROL_MASK,
- "scroll-right-control-alt",
+ { GDK_SCROLL_RIGHT, "<Primary><Alt>", 0,
+ "scroll-right-primary-alt",
N_("Scroll Right") },
- { GDK_SCROLL_RIGHT, GDK_MOD1_MASK | GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "scroll-right-shift-control-alt",
+ { GDK_SCROLL_RIGHT, "<Shift><Primary><Alt>", 0,
+ "scroll-right-shift-primary-alt",
N_("Scroll Right") }
};
@@ -187,9 +185,9 @@ gimp_controller_wheel_class_init (GimpControllerWheelClass *klass)
static void
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;
@@ -197,15 +195,25 @@ gimp_controller_wheel_init (GimpControllerWheel *wheel)
{
WheelEvent *wevent = &wheel_events[i];
+ if (wevent->modifier_string)
+ {
+ gtk_accelerator_parse (wevent->modifier_string, NULL,
+ &wevent->modifiers);
+ }
+
if (wevent->modifiers != 0)
{
wevent->blurb =
g_strdup_printf ("%s (%s)", gettext (wevent->blurb),
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 (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 ((sevent->state & MODIFIER_MASK) == wheel_events[i].modifiers)
+ if ((wheel_events[i].modifiers & sevent->state) ==
+ wheel_events[i].modifiers)
{
GimpControllerEvent controller_event;
GimpControllerEventTrigger *trigger;
diff --git a/etc/controllerrc b/etc/controllerrc
index ca10179..94bf218 100644
--- a/etc/controllerrc
+++ b/etc/controllerrc
@@ -7,14 +7,14 @@
(mapping
(map "scroll-up-alt" "tools-opacity-increase-skip")
(map "scroll-down-alt" "tools-opacity-decrease-skip")
- (map "scroll-up-control-alt" "context-gradient-select-next")
- (map "scroll-down-control-alt" "context-gradient-select-previous")
+ (map "scroll-up-primary-alt" "context-gradient-select-next")
+ (map "scroll-down-primary-alt" "context-gradient-select-previous")
(map "scroll-up-shift-alt" "context-pattern-select-next")
(map "scroll-down-shift-alt" "context-pattern-select-previous")
- (map "scroll-up-shift-control" "context-brush-select-next")
- (map "scroll-down-shift-control" "context-brush-select-previous")
- (map "scroll-up-shift-control-alt" "context-font-select-next")
- (map "scroll-down-shift-control-alt" "context-font-select-previous")))
+ (map "scroll-up-shift-primary" "context-brush-select-next")
+ (map "scroll-down-shift-primary" "context-brush-select-previous")
+ (map "scroll-up-shift-primary-alt" "context-font-select-next")
+ (map "scroll-down-shift-primary-alt" "context-font-select-previous")))
(GimpControllerInfo "Main Keyboard"
(enabled yes)
@@ -25,10 +25,10 @@
(map "cursor-down-shift" "view-scroll-page-down")
(map "cursor-left-shift" "view-scroll-page-left")
(map "cursor-right-shift" "view-scroll-page-right")
- (map "cursor-up-control" "view-scroll-top-border")
- (map "cursor-down-control" "view-scroll-bottom-border")
- (map "cursor-left-control" "view-scroll-left-border")
- (map "cursor-right-control" "view-scroll-right-border")
+ (map "cursor-up-primary" "view-scroll-top-border")
+ (map "cursor-down-primary" "view-scroll-bottom-border")
+ (map "cursor-left-primary" "view-scroll-left-border")
+ (map "cursor-right-primary" "view-scroll-right-border")
(map "cursor-up-alt" "tools-value-1-increase-skip")
(map "cursor-down-alt" "tools-value-1-decrease-skip")
(map "cursor-left-alt" "tools-value-1-decrease")
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]