Plugin Directory

Changeset 482745


Ignore:
Timestamp:
12/31/2011 11:18:40 AM (14 years ago)
Author:
thantthet
Message:

2.2

Location:
jkeymagic
Files:
16 added
2 edited

Legend:

Unmodified
Added
Removed
  • jkeymagic/trunk/jkeymagic.php

    r420148 r482745  
    55Description: Add jKeyMagic to comment box. More info about KeyMagic (http://code.google.com/p/keymagic)
    66Author: Thant Thet Khin Zaw
    7 Version: 2.1
     7Version: 2.2
    88Author URI: http://ttkz.me/
    99*/
     
    171171        }
    172172       
     173        elements = document.getElementsByTagName('input');
     174        for (i = 0; i < elements.length; i++) {
     175          JKME.attach(elements[i]);
     176        }
     177       
    173178        }
    174179
  • jkeymagic/trunk/js/jkeymagic.js

    r403217 r482745  
    1 var tString=0,tAnyOfString=1,tNotOfString=2,tBackRefString=3,tReference=4,tVKey=5,tAny=6,tSwitch=7;if(window.console)var log=function(){},error=function(a){console.error(a)};else{log=function(){};error=function(){}}
     1var tString=0,tAnyOfString=1,tNotOfString=2,tBackRefString=3,tReference=4,tVKey=5,tAny=6,tSwitch=7;if(window.console)var log=function(){},error=function(){};else{log=function(){};error=function(){}}
    22var getElement=function(a){var b=null;if(typeof a!=="object"){b=document.getElementById(a);return typeof b!=="object"?null:b}else return a},addEventHandler=function(a,b,c){if(a.addEventListener)a.addEventListener(b,c,false);else a.attachEvent&&c.call?a.attachEvent("on"+b,function(){return c.call(a,window.event)}):error("Can't add event listner")},removeEventHandler=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,false);else a.detachEvent&&a.detachEvent("on"+b,c)};
    33JKME={enabledTags:["TEXTAREA","INPUT"],config:{showMenu:true,menuClassName:"jkMenu",logoUrl:"keymagic.png"},attach:function(a){return new JKME.engine(a)},detach:function(a){a=getElement(a);try{engine=a.$;removeEventHandler(a,"keypress",engine.onkeypress);removeEventHandler(a,"keydown",engine.onkeydown);removeEventHandler(a,"mousemove",engine.onmousemove);removeEventHandler(a,"mouseout",engine.onmouseout);document.body.removeChild(engine.menu.el)}catch(b){error(b);return false}return true},switchLayout:function(a,
     
    2222this.context.substr(0,this.context.length-1);this.contextHistory=[]}return true}if(!(a.charCode<=32||a.keyCode<=32))if(this.keyboard.eat){log("eaten");a.preventDefault&&a.preventDefault();return false}else{log("not eaten");this.context+=String.fromCharCode(this.env.ie|this.env.opera?a.keyCode:a.charCode);this.updateHistory(e)}}}};JKME.engine.prototype.updateHistory=function(a){if(this.contextHistory.length==0)this.contextHistory.push(a);else a!=this.contextHistory[this.contextHistory.length-1]&&this.contextHistory.push(a)};
    2323JKME.engine.prototype.getKeyCode=function(a){var b=false,c=this.env.ie|this.env.opera?a.keyCode:a.charCode;log("getKeyCode",0,b);if(c>=65&&c<=90){b=true;a=c}else if(c>=97&&c<=122)a=c-32;else if(c>=48&&c<=57)a=c;else switch(c){case 96:a=192;break;case 126:a=192;b=true;break;case 33:a=49;b=true;break;case 64:a=50;b=true;break;case 35:a=51;b=true;break;case 36:a=52;b=true;break;case 37:a=53;b=true;break;case 94:a=54;b=true;break;case 38:a=55;b=true;break;case 42:a=56;b=true;break;case 40:a=57;b=true;
    24 break;case 41:a=48;b=true;break;case 45:a=189;break;case 95:a=189;b=true;break;case 61:a=187;break;case 43:a=187;b=true;break;case 91:a=219;break;case 123:a=219;b=true;break;case 93:a=221;break;case 125:a=221;b=true;break;case 92:a=220;break;case 124:a=220;b=true;break;case 59:a=186;break;case 58:a=186;b=true;break;case 39:a=222;break;case 34:a=222;b=true;break;case 44:a=188;break;case 60:a=188;b=true;break;case 60:a=190;break;case 62:a=190;b=true;break;case 47:a=191;break;case 63:a=191;b=true;break;
     24break;case 41:a=48;b=true;break;case 45:a=189;break;case 95:a=189;b=true;break;case 61:a=187;break;case 43:a=187;b=true;break;case 91:a=219;break;case 123:a=219;b=true;break;case 93:a=221;break;case 125:a=221;b=true;break;case 92:a=220;break;case 124:a=220;b=true;break;case 59:a=186;break;case 58:a=186;b=true;break;case 39:a=222;break;case 34:a=222;b=true;break;case 44:a=188;break;case 60:a=188;b=true;break;case 46:a=190;break;case 62:a=190;b=true;break;case 47:a=191;break;case 63:a=191;b=true;break;
    2525default:a=a.keyCode}log("getKeyCode",a,b);return{keycode:a,shift:b}};JKME.engine.prototype.processInput=function(a,b,c){log("processInput",a,b,c);for(var e in this.keyboard.rules){var d=this.keyboard.rules[e];if(this.matchRule(d,a,b,c)){log("matchRule=true",d);if(this.matchedVK===false)this.context+=b;if(a)this.switches={};a=this.processOutput(d);log("processOutput="+a,this.context);return a}}return false};
    2626JKME.engine.prototype.processOutput=function(a){var b=a.length,c="",e;for(itemIdx in a.rhs){var d=a.rhs[itemIdx];switch(d.type){case tString:c+=d.value;break;case tBackRefString:if(this.backRef.length<=d.index)continue;e=a.lhs[d.index].value.indexOf(this.backRef[d.index]);if(e!=-1)c+=d.value.charAt(e);break;case tReference:if(this.backRef.length<=d.index)continue;c+=this.backRef[d.index];break;case tVKey:c+=String.fromCharCode(d.keyCode);break;case tSwitch:log("switch"+d.switchId);this.switches[d.switchId]=
Note: See TracChangeset for help on using the changeset viewer.