From 9e7a1b4167ebe12c91c6fe2429b834bdc2a435a3 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Fri, 22 Aug 2008 06:54:45 -0400 Subject: [PATCH] Better fix for keyboard controls; does not disable all kind of keyboard events --- program/js/list.js | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index a83a8af..1986e8b 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -88,7 +88,7 @@ // set body events if (this.keyboard) { rcube_event.add_listener({element:document, event:'keyup', object:this, method:'key_press'}); - rcube_event.add_listener({element:document, event:'keydown', object:rcube_event, method:'cancel'}); + rcube_event.add_listener({element:document, event:'keydown', object:this, method:'key_down'}); } } }, @@ -573,6 +573,26 @@ return true; }, +/** + * Handler for keydown events + */ +key_down: function(e) +{ + switch (rcube_event.get_keycode(e)) + { + case 40: + case 38: + case 63233: + case 63232: + if (!rcube_event.get_modifier(e) && this.focused) + return rcube_event.cancel(e); + + default: + } + + return true; +}, + /** * Special handling method for arrow keys -- Gitblit v1.9.1