*** empty log message ***
[m17n/m17n-lib-js.git] / mim.js
diff --git a/mim.js b/mim.js
index 8c7b461..22672f9 100644 (file)
--- a/mim.js
+++ b/mim.js
@@ -6,6 +6,8 @@ var MIM_url = "http://www.m17n.org/common/mim-js";
 /* Boolean flag to tell if MIM is active or not.  */
 var MIM_enabled = true;
 
+var MIM_debug = false;
+
 var MIM_current_im;
 
 var MIM_list = new Array ();
@@ -133,8 +135,7 @@ function MIM_load (im)
   s.charset = 'UTF-8';
   s.src = filename;
   document.body.appendChild (s);
-  alert (s.innerText);
-  //document.body.removeChild (s);
+  document.body.removeChild (s);
   im.status = 2;
   return im;
 }
@@ -174,7 +175,7 @@ MIM_key[0xF0] = "capslock";
 
 function MIM_decode_key (event)
 {
-  var key = (event.keyCode ? event.keyCode
+  var key = ((event.type == 'keydown' || event.keyCode) ? event.keyCode
             : event.charCode ? event.charCode
             : false);
   if (! key)
@@ -195,12 +196,14 @@ function MIM_decode_key (event)
 
 function debug_print (event, ic)
 {
+  if (! MIM_debug)
+    return;
   var target = event.target;
   var code = event.keyCode;
-  var char = event.charCode;
+  var ch = event.type == 'keydown' ? "-none-" : event.charCode;
   var key = MIM_decode_key (event);
 
-  document.getElementById (event.type).innerHTML = "" + code + "/" + char + " : " + key;
+  document.getElementById (event.type).innerHTML = "" + code + "/" + ch + " : " + key;
   document.getElementById ('status').innerHTML = ic.im.status;
   var keyseq = "";
   for (var i = 0; i < ic.keyseq.length; i++)
@@ -333,7 +336,7 @@ function MIM_handle_keyseq (event, ic)
        ic.reset ();
       event.preventDefault ();
       //document.getElementById ('text').value
-       //= keyseq_string (ic.keyseq) + " handled";
+      //= keyseq_string (ic.keyseq) + " handled";
     }
   else if (map > 0)
     {
@@ -350,8 +353,8 @@ function MIM_handle_keyseq (event, ic)
   else
     {
       ic.reset ();
-      document.getElementById ('text').value
-       = keyseq_string (ic.keyseq) + " unhandled";
+      //document.getElementById ('text').value
+      //= keyseq_string (ic.keyseq) + " unhandled";
     }
 }
 
@@ -374,7 +377,7 @@ function MIM_keydown (event)
       event.target.mim_ic = ic;
     }
   MIM_add_event_listener (event.target, 'blur', MIM_reset_ic);
-  //debug_print (event, ic);
+  debug_print (event, ic);
   if (ic.im.status < 0)
     return;
   ic.check_caret ();
@@ -389,7 +392,7 @@ function MIM_keypress (event)
   var ic = event.target.mim_ic;
   var i;
 
-  //debug_print (event, ic);
+  debug_print (event, ic);
   if (ic.im.status < 0)
     return;
   if (! ic.key)
@@ -472,5 +475,13 @@ function MIM_init ()
   MIM_add_event_listener (window, 'keydown', MIM_keydown);
   MIM_add_event_listener (window, 'keypress', MIM_keypress);
   MIM_add_event_listener (window, 'mousedown', MIM_select_menu);
+  if (window.location == 'http://localhost/mim/index.html')
+    MIM_url = 'http://localhost/mim';
   MIM_load (MIM_current_im);
 }
+
+function MIM_init_debug ()
+{
+  MIM_debug = true;
+  MIM_init ();
+}