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