diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-09-22 21:10:42 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-09-22 21:10:42 +0800 |
commit | 2a20e41b574fa96a513a0a8faa4544cbef895146 (patch) | |
tree | 658a83a226ddfb4f5f2b090b329b2e8fc93c3208 /widgets/text | |
parent | b2019f34096c075bedcc2f9db7ee94d493225768 (diff) | |
download | gsoc2013-evolution-2a20e41b574fa96a513a0a8faa4544cbef895146.tar.gz gsoc2013-evolution-2a20e41b574fa96a513a0a8faa4544cbef895146.tar.zst gsoc2013-evolution-2a20e41b574fa96a513a0a8faa4544cbef895146.zip |
Fixed operation of the keypad keys in EText and ECellText.
2000-09-22 Christopher James Lahey <clahey@helixcode.com>
* gal/e-text/e-text-event-processor-emacs-like.c: Fixed operation
of the keypad keys in EText and ECellText.
svn path=/trunk/; revision=5548
Diffstat (limited to 'widgets/text')
-rw-r--r-- | widgets/text/e-text-event-processor-emacs-like.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/widgets/text/e-text-event-processor-emacs-like.c b/widgets/text/e-text-event-processor-emacs-like.c index 71bc3c9212..07c39c93a9 100644 --- a/widgets/text/e-text-event-processor-emacs-like.c +++ b/widgets/text/e-text-event-processor-emacs-like.c @@ -213,29 +213,40 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro command.action = E_TEP_MOVE; switch(key.keyval) { case GDK_Home: + case GDK_KP_Home: if (key.state & GDK_CONTROL_MASK) command.position = E_TEP_START_OF_BUFFER; else command.position = E_TEP_START_OF_LINE; break; case GDK_End: + case GDK_KP_End: if (key.state & GDK_CONTROL_MASK) command.position = E_TEP_END_OF_BUFFER; else command.position = E_TEP_END_OF_LINE; break; - case GDK_Page_Up: command.position = E_TEP_BACKWARD_PAGE; break; - case GDK_Page_Down: command.position = E_TEP_FORWARD_PAGE; break; + case GDK_Page_Up: + case GDK_KP_Page_Up: command.position = E_TEP_BACKWARD_PAGE; break; + + case GDK_Page_Down: + case GDK_KP_Page_Down: command.position = E_TEP_FORWARD_PAGE; break; /* CUA has Ctrl-Up/Ctrl-Down as paragraph up down */ - case GDK_Up: command.position = E_TEP_BACKWARD_LINE; break; - case GDK_Down: command.position = E_TEP_FORWARD_LINE; break; + case GDK_Up: + case GDK_KP_Up: command.position = E_TEP_BACKWARD_LINE; break; + + case GDK_Down: + case GDK_KP_Down: command.position = E_TEP_FORWARD_LINE; break; + case GDK_Left: + case GDK_KP_Left: if (key.state & GDK_CONTROL_MASK) command.position = E_TEP_BACKWARD_WORD; else command.position = E_TEP_BACKWARD_CHARACTER; break; - case GDK_Right: + case GDK_Right: + case GDK_KP_Right: if (key.state & GDK_CONTROL_MASK) command.position = E_TEP_FORWARD_WORD; else @@ -254,6 +265,7 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro command.position = E_TEP_END_OF_LINE; break; case GDK_Insert: + case GDK_KP_Insert: if (key.state & GDK_SHIFT_MASK) { command.action = E_TEP_PASTE; command.position = E_TEP_SELECTION; @@ -261,10 +273,11 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro command.action = E_TEP_COPY; command.position = E_TEP_SELECTION; } else { - /* gtk_toggle_insert(text) -- IMPLEMENT */ + /* gtk_toggle_insert(text) -- IMPLEMENT -- FIXME */ } break; case GDK_Delete: + case GDK_KP_Delete: if (key.state & GDK_CONTROL_MASK){ command.action = E_TEP_DELETE; command.position = E_TEP_FORWARD_WORD; @@ -281,11 +294,15 @@ e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventPro } break; case GDK_Tab: + case GDK_KP_Tab: + case GDK_ISO_Left_Tab: + case GDK_3270_BackTab: /* Don't insert literally */ command.action = E_TEP_NOP; command.position = E_TEP_SELECTION; break; case GDK_Return: + case GDK_KP_Enter: if (key.state & GDK_CONTROL_MASK) { command.action = E_TEP_ACTIVATE; command.position = E_TEP_SELECTION; |