Browse Source

refactor keyboard event keycode to key. (part 1)

Robin Herbots 3 years ago
parent
commit
ed648f936c

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "5.0.8-beta.29",
+  "version": "5.0.8-beta.34",
   "main": [
 	  "./index.js",
     "./css/inputmask.css"

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
   "name": "robinherbots/inputmask",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
-  "version": "5.0.8-beta.29",
+  "version": "5.0.8-beta.34",
   "type": "library",
   "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
   "homepage": "http://robinherbots.github.io/Inputmask",

File diff suppressed because it is too large
+ 333 - 344
dist/inputmask.js


File diff suppressed because it is too large
+ 2 - 2
dist/inputmask.min.js


File diff suppressed because it is too large
+ 334 - 345
dist/jquery.inputmask.js


File diff suppressed because it is too large
+ 2 - 2
dist/jquery.inputmask.min.js


+ 32 - 32
lib/defaults.js

@@ -1,4 +1,4 @@
-import {keyCode} from "./keycode.js";
+import {keys} from "./keycode.js";
 
 export default {
 	_maxTestPos: 500,
@@ -52,37 +52,37 @@ export default {
 	supportsInputType: ["text", "tel", "url", "password", "search"], //list with the supported input types
 	//specify keyCodes which should not be considered in the keypress event, otherwise the preventDefault will stop their default behavior especially in FF
 	ignorables: [
-		keyCode.Backspace,
-		keyCode.Tab,
-		keyCode.Pause,
-		keyCode.Escape,
-		keyCode.PageUp,
-		keyCode.PageDown,
-		keyCode.End,
-		keyCode.Home,
-		keyCode.Left,
-		keyCode.Up,
-		keyCode.Right,
-		keyCode.Down,
-		keyCode.Insert,
-		keyCode.Delete,
-		keyCode.ContextMenu,
-		keyCode.F1,
-		keyCode.F2,
-		keyCode.F3,
-		keyCode.F4,
-		keyCode.F5,
-		keyCode.F6,
-		keyCode.F7,
-		keyCode.F8,
-		keyCode.F9,
-		keyCode.F10,
-		keyCode.F11,
-		keyCode.F12,
-		keyCode.KEY_229,
-		keyCode.Shift,
-		keyCode.Control,
-		keyCode.Alt
+		keys.Backspace,
+		keys.Tab,
+		keys.Pause,
+		keys.Escape,
+		keys.PageUp,
+		keys.PageDown,
+		keys.End,
+		keys.Home,
+		keys.Left,
+		keys.Up,
+		keys.Right,
+		keys.Down,
+		keys.Insert,
+		keys.Delete,
+		keys.ContextMenu,
+		keys.F1,
+		keys.F2,
+		keys.F3,
+		keys.F4,
+		keys.F5,
+		keys.F6,
+		keys.F7,
+		keys.F8,
+		keys.F9,
+		keys.F10,
+		keys.F11,
+		keys.F12,
+		keys.KEY_229,
+		keys.Shift,
+		keys.Control,
+		keys.Alt
 	],
 	isComplete: null, //override for isComplete - args => buffer, opts - return true || false
 	preValidation: null, //hook to preValidate the input.  Usefull for validating regardless the definition.	args => buffer, pos, char, isSelection, opts, maskset, caretPos, strict => return true/false/command object

+ 23 - 32
lib/eventhandlers.js

@@ -7,7 +7,7 @@ import {
     seekPrevious,
     translatePosition
 } from "./positioning";
-import {keyCode, keys, toKey, toKeyCode} from "./keycode.js";
+import {keyCode, keys} from "./keycode.js";
 import {iemobile, iphone} from "./environment";
 import {handleRemove, isComplete, isSelection, isValid} from "./validation";
 import {applyInputValue, checkVal, clearOptionalTail, HandleNativePlaceholder, writeBuffer} from "./inputHandling";
@@ -22,33 +22,33 @@ var EventHandlers = {
 
         var input = this,
             $input = $(input),
-            k = e.key || toKey(e.keyCode, e.shiftKey),
+            c = e.key,
             pos = caret.call(inputmask, input);
 
         var kdResult = opts.onKeyDown.call(this, e, getBuffer.call(inputmask), pos, opts);
         if (kdResult !== undefined) return kdResult;
 
         //backspace, delete, and escape get special treatment
-        if (k === keys.Backspace || k === keys.Delete || (iphone && k === keys.BACKSPACE_SAFARI) || (e.ctrlKey && k === keys.x && !("oncut" in input))) { //backspace/delete
+        if (c === keys.Backspace || c === keys.Delete || (iphone && c === keys.BACKSPACE_SAFARI) || (e.ctrlKey && c === keys.x && !("oncut" in input))) { //backspace/delete
             e.preventDefault(); //stop default action but allow propagation
-            handleRemove.call(inputmask, input, toKeyCode(k), pos);
+            handleRemove.call(inputmask, input, c, pos);
             writeBuffer(input, getBuffer.call(inputmask, true), maskset.p, e, input.inputmask._valueGet() !== getBuffer.call(inputmask).join(""));
-        } else if (k === keys.END || k === keys.PAGE_DOWN) { //when END or PAGE_DOWN pressed set position at lastmatch
+        } else if (c === keys.End || c === keys.PageDown) { //when END or PAGE_DOWN pressed set position at lastmatch
             e.preventDefault();
             var caretPos = seekNext.call(inputmask, getLastValidPosition.call(inputmask));
             caret.call(inputmask, input, e.shiftKey ? pos.begin : caretPos, caretPos, true);
-        } else if ((k === keys.HOME && !e.shiftKey) || k === keys.PAGE_UP) { //Home or page_up
+        } else if ((c === keys.Home && !e.shiftKey) || c === keys.PageUp) { //Home or page_up
             e.preventDefault();
             caret.call(inputmask, input, 0, e.shiftKey ? pos.begin : 0, true);
-        } else if (((opts.undoOnEscape && k === keys.Escape) || (false && k === keys.z && e.ctrlKey)) && e.altKey !== true) { //escape && undo && #762
+        } else if (((opts.undoOnEscape && c === keys.Escape) || (false && c === keys.z && e.ctrlKey)) && e.altKey !== true) { //escape && undo && #762
             checkVal(input, true, false, inputmask.undoValue.split(""));
             $input.trigger("click");
-        } else if (k === keys.INSERT && !(e.shiftKey || e.ctrlKey) && inputmask.userOptions.insertMode === undefined) { //insert
+        } else if (c === keys.Insert && !(e.shiftKey || e.ctrlKey) && inputmask.userOptions.insertMode === undefined) { //insert
             if (!isSelection.call(inputmask, pos)) {
                 opts.insertMode = !opts.insertMode;
                 caret.call(inputmask, input, pos.begin, pos.begin);
             } else opts.insertMode = !opts.insertMode;
-        } else if (opts.tabThrough === true && k === keys.TAB) {
+        } else if (opts.tabThrough === true && c === keys.Tab) {
             if (e.shiftKey === true) {
                 pos.end = seekPrevious.call(inputmask, pos.end, true);
                 if (getTest.call(inputmask, pos.end - 1).match.static === true) {
@@ -70,12 +70,12 @@ var EventHandlers = {
             }
         } else if (!e.shiftKey) {
             if (opts.insertModeVisual && opts.insertMode === false) {
-                if (k === keys.RIGHT) {
+                if (c === keys.Right) {
                     setTimeout(function () {
                         var caretPos = caret.call(inputmask, input);
                         caret.call(inputmask, input, caretPos.begin);
                     }, 0);
-                } else if (k === keys.LEFT) {
+                } else if (c === keys.Left) {
                     setTimeout(function () {
                         var caretPos = {
                             begin: translatePosition.call(inputmask, input.inputmask.caretPos.begin),
@@ -91,8 +91,8 @@ var EventHandlers = {
             }
         }
 
-        inputmask.ignorable = opts.ignorables.includes(toKeyCode(k));
-        // EventHandlers.keypressEvent.call(this, e, checkval, writeOut, strict, ndx);
+        inputmask.ignorable = opts.ignorables.includes(c);
+        return  EventHandlers.keypressEvent.call(this, e, checkval, writeOut, strict, ndx);
     },
     keypressEvent: function (e, checkval, writeOut, strict, ndx) {
         const inputmask = this.inputmask || this, opts = inputmask.opts, $ = inputmask.dependencyLib,
@@ -100,10 +100,10 @@ var EventHandlers = {
 
         var input = inputmask.el,
             $input = $(input),
-            k = e.keyCode;
+            c = e.key;
 
         if (checkval !== true && (!(e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || inputmask.ignorable))) {
-            if (k === keyCode.Enter && inputmask.undoValue !== inputmask._valueGet(true)) {
+            if (c === keys.Enter && inputmask.undoValue !== inputmask._valueGet(true)) {
                 inputmask.undoValue = inputmask._valueGet(true);
                 // e.preventDefault();
                 setTimeout(function () {
@@ -112,14 +112,14 @@ var EventHandlers = {
             }
             inputmask.skipInputEvent = true; //skip the input as otherwise the skipped char could be picked up for validation by the inputfallback
             return true;
-        } else if (k || e.key) {
+        } else if (c) {
             //special treat the decimal separator
-            if ((k === 44 || k === 46) && e.location === 3 && opts.radixPoint !== "") k = opts.radixPoint.charCodeAt(0);
+            // if ((k === 44 || k === 46) && e.location === 3 && opts.radixPoint !== "") k = opts.radixPoint.charCodeAt(0);
             var pos = checkval ? {
                     begin: ndx,
                     end: ndx
                 } : caret.call(inputmask, input),
-                forwardPosition, c = k ? String.fromCharCode(k) : e.key;
+                forwardPosition;
 
             //allow for character substitution
             c = opts.substitutes[c] || c;
@@ -135,7 +135,7 @@ var EventHandlers = {
             if (writeOut !== false) {
 
                 setTimeout(function () {
-                    opts.onKeyValidation.call(input, k, valResult);
+                    opts.onKeyValidation.call(input, c, valResult);
                 }, 0);
                 if (maskset.writeOutBuffer && valResult !== false) {
                     var buffer = getBuffer.call(inputmask);
@@ -155,17 +155,8 @@ var EventHandlers = {
         const inputmask = this.inputmask;
 
         if (inputmask.isComposing) {
-            if (e.keyCode === keyCode.KEY_229 || e.keyCode === keyCode.Enter)
+            if (e.keyCode === keyCode.KEY_229 || e.key === keys.Enter)
                 inputmask.$el.trigger("input");
-            else {
-                // let keypress = new $.Event("keypress");
-                // //reset caretpos
-                // // let caretPos = seekPrevious.call(inputmask, caret.call(inputmask, input).begin);
-                // // caret.call(inputmask, input, caretPos);
-                // keypress.keyCode = e.keyCode;
-                // inputmask.ignorable = false; //make sure ignorable is ignored ;-)
-                // EventHandlers.keypressEvent.call(this, keypress);
-            }
         }
     },
     pasteEvent: function (e) {
@@ -335,7 +326,7 @@ var EventHandlers = {
                 case "insertReplacementText":
                     changes.data.forEach(function (entry, ndx) {
                         var keypress = new $.Event("keypress");
-                        keypress.keyCode = entry.charCodeAt(0);
+                        keypress.key = entry;
                         inputmask.ignorable = false; //make sure ignorable is ignored ;-)
                         EventHandlers.keypressEvent.call(input, keypress);
                     });
@@ -345,7 +336,7 @@ var EventHandlers = {
                     break;
                 case "deleteContentBackward":
                     var keydown = new $.Event("keydown");
-                    keydown.keyCode = keyCode.Backspace;
+                    keydown.key = keys.Backspace;
                     EventHandlers.keydownEvent.call(input, keydown);
                     break;
                 default:
@@ -431,7 +422,7 @@ var EventHandlers = {
         else if (window.clipboardData && window.clipboardData.getData) { // IE
             window.clipboardData.setData("Text", clipDataText);
         }
-        handleRemove.call(inputmask, input, keyCode.Delete, pos);
+        handleRemove.call(inputmask, input, keys.Delete, pos);
         writeBuffer(input, getBuffer.call(inputmask), maskset.p, e, inputmask.undoValue !== inputmask._valueGet(true));
     },
     blurEvent: function (e) {

+ 101 - 112
lib/eventruler.js

@@ -1,124 +1,113 @@
 import Inputmask from "./inputmask";
-import {keyCode} from "./keycode.js";
+import {keys} from "./keycode.js";
 import {getBufferTemplate} from "./positioning";
 import {HandleNativePlaceholder} from "./inputHandling";
 
 export {EventRuler};
 
 var EventRuler = {
-	on: function (input, eventName, eventHandler) {
-		const $ = input.inputmask.dependencyLib;
+    on: function (input, eventName, eventHandler) {
+        const $ = input.inputmask.dependencyLib;
 
-		var ev = function (e) {
-			if (e.originalEvent) {
-				e = e.originalEvent || e; //get original event from jquery evenbt
-				arguments[0] = e;
-			}
-			// console.log(e.type);
-			var that = this, args, inputmask = that.inputmask, opts = inputmask ? inputmask.opts : undefined;
-			if (inputmask === undefined && this.nodeName !== "FORM") { //happens when cloning an object with jquery.clone
-				var imOpts = $.data(that, "_inputmask_opts");
-				$(that).off(); //unbind all events
-				if (imOpts) {
-					(new Inputmask(imOpts)).mask(that);
-				}
-			} else if (!["submit", "reset", "setvalue"].includes(e.type) && this.nodeName !== "FORM" && (that.disabled || (that.readOnly && !(e.type === "keydown" && (e.ctrlKey && e.keyCode === 67) || (opts.tabThrough === false && e.keyCode === keyCode.Tab))))) {
-				e.preventDefault();
-			} else {
-				switch (e.type) {
-					case "input":
-						if (inputmask.skipInputEvent === true || (e.inputType && e.inputType === "insertCompositionText")) {
-							inputmask.skipInputEvent = false;
-							return e.preventDefault();
-						}
+        var ev = function (e) {
+            if (e.originalEvent) {
+                e = e.originalEvent || e; //get original event from jquery evenbt
+                arguments[0] = e;
+            }
+            // console.log(e.type);
+            var that = this, args, inputmask = that.inputmask, opts = inputmask ? inputmask.opts : undefined;
+            if (inputmask === undefined && this.nodeName !== "FORM") { //happens when cloning an object with jquery.clone
+                var imOpts = $.data(that, "_inputmask_opts");
+                $(that).off(); //unbind all events
+                if (imOpts) {
+                    (new Inputmask(imOpts)).mask(that);
+                }
+            } else if (!["submit", "reset", "setvalue"].includes(e.type) && this.nodeName !== "FORM" && (that.disabled || (that.readOnly && !(e.type === "keydown" && (e.ctrlKey && e.key === keys.c) || (opts.tabThrough === false && e.key === keys.Tab))))) {
+                e.preventDefault();
+            } else {
+                switch (e.type) {
+                    case "input":
+                        if (inputmask.skipInputEvent === true || (e.inputType && e.inputType === "insertCompositionText")) {
+                            inputmask.skipInputEvent = false;
+                            return e.preventDefault();
+                        }
 
-						// if (mobile) { //this causes problem see #2220
-						// 	args = arguments;
-						// 	setTimeout(function () { //needed for caret selection when entering a char on Android 8 - #1818
-						// 		eventHandler.apply(that, args);
-						// 		caret(that, that.inputmask.caretPos, undefined, true);
-						// 	}, 0);
-						// 	return false;
-						// }
-						break;
-					case "keydown":
-						//Safari 5.1.x - modal dialog fires keypress twice workaround
-						inputmask.skipKeyPressEvent = false;
-						inputmask.skipInputEvent = inputmask.isComposing = e.keyCode === keyCode.KEY_229;
-						break;
-					case "keyup":
-					case "compositionend":
-						if (inputmask.isComposing) {
-							inputmask.skipInputEvent = false;
-						}
-						break;
-					case "keypress":
-						if (inputmask.skipKeyPressEvent === true) {
-							return e.preventDefault();
-						}
-						inputmask.skipKeyPressEvent = true;
-						break;
-					case "click":
-					case "focus":
-						if (inputmask.validationEvent) { // #841
-							inputmask.validationEvent = false;
-							input.blur();
-							HandleNativePlaceholder(input, (inputmask.isRTL ? getBufferTemplate.call(inputmask).slice().reverse() : getBufferTemplate.call(inputmask)).join(""));
-							setTimeout(function () {
-								input.focus();
-							}, opts.validationEventTimeOut);
-							return false;
-						}
-						args = arguments;
-						setTimeout(function () { //needed for Chrome ~ initial selection clears after the clickevent
-							if (!input.inputmask) {
-								// `inputmask.remove()` was called before this callback
-								return;
-							}
-							eventHandler.apply(that, args);
-						}, 0);
-						return /*false*/; //#2423
-				}
-				var returnVal = eventHandler.apply(that, arguments);
-				if (returnVal === false) {
-					e.preventDefault();
-					e.stopPropagation();
-				}
-				return returnVal;
-			}
-		};
-		if (["submit", "reset"].includes(eventName)) {
-			ev = ev.bind(input); //bind creates a new eventhandler (wrap)
-			if (input.form !== null) $(input.form).on(eventName, ev);
-		} else {
-			$(input).on(eventName, ev);
-		}
+                        // if (mobile) { //this causes problem see #2220
+                        // 	args = arguments;
+                        // 	setTimeout(function () { //needed for caret selection when entering a char on Android 8 - #1818
+                        // 		eventHandler.apply(that, args);
+                        // 		caret(that, that.inputmask.caretPos, undefined, true);
+                        // 	}, 0);
+                        // 	return false;
+                        // }
+                        break;
+                    case "keyup":
+                    case "compositionend":
+                        if (inputmask.isComposing) {
+                            inputmask.skipInputEvent = false;
+                        }
+                        break;
+                    case "click":
+                    case "focus":
+                        if (inputmask.validationEvent) { // #841
+                            inputmask.validationEvent = false;
+                            input.blur();
+                            HandleNativePlaceholder(input, (inputmask.isRTL ? getBufferTemplate.call(inputmask).slice().reverse() : getBufferTemplate.call(inputmask)).join(""));
+                            setTimeout(function () {
+                                input.focus();
+                            }, opts.validationEventTimeOut);
+                            return false;
+                        }
+                        args = arguments;
+                        setTimeout(function () { //needed for Chrome ~ initial selection clears after the clickevent
+                            if (!input.inputmask) {
+                                // `inputmask.remove()` was called before this callback
+                                return;
+                            }
+                            eventHandler.apply(that, args);
+                        }, 0);
+                        return /*false*/; //#2423
+                }
+                var returnVal = eventHandler.apply(that, arguments);
+                if (returnVal === false) {
+                    e.preventDefault();
+                    e.stopPropagation();
+                }
+                return returnVal;
+            }
+        };
+        if (["submit", "reset"].includes(eventName)) {
+            ev = ev.bind(input); //bind creates a new eventhandler (wrap)
+            if (input.form !== null) $(input.form).on(eventName, ev);
+        } else {
+            $(input).on(eventName, ev);
+        }
 
-		//keep instance of the event
-		input.inputmask.events[eventName] = input.inputmask.events[eventName] || [];
-		input.inputmask.events[eventName].push(ev);
+        //keep instance of the event
+        input.inputmask.events[eventName] = input.inputmask.events[eventName] || [];
+        input.inputmask.events[eventName].push(ev);
 
-	},
-	off: function (input, event) {
-		if (input.inputmask && input.inputmask.events) {
-			const $ = input.inputmask.dependencyLib;
-			let events = input.inputmask.events;
-			if (event) {
-				events = [];
-				events[event] = input.inputmask.events[event];
-			}
-			for (let eventName in events) {
-				let evArr = events[eventName];
-				while (evArr.length > 0) {
-					let ev = evArr.pop();
-					if (["submit", "reset",].includes(eventName)) {
-						if (input.form !== null) $(input.form).off(eventName, ev);
-					} else {
-						$(input).off(eventName, ev);
-					}
-				}
-				delete input.inputmask.events[eventName];
-			}
-		}
-	}
+    },
+    off: function (input, event) {
+        if (input.inputmask && input.inputmask.events) {
+            const $ = input.inputmask.dependencyLib;
+            let events = input.inputmask.events;
+            if (event) {
+                events = [];
+                events[event] = input.inputmask.events[event];
+            }
+            for (let eventName in events) {
+                let evArr = events[eventName];
+                while (evArr.length > 0) {
+                    let ev = evArr.pop();
+                    if (["submit", "reset",].includes(eventName)) {
+                        if (input.form !== null) $(input.form).off(eventName, ev);
+                    } else {
+                        $(input).off(eventName, ev);
+                    }
+                }
+                delete input.inputmask.events[eventName];
+            }
+        }
+    }
 };

File diff suppressed because it is too large
+ 525 - 525
lib/extensions/inputmask.date.extensions.js


+ 10 - 10
lib/extensions/inputmask.numeric.extensions.js

@@ -5,9 +5,9 @@
  Licensed under the MIT license
  */
 import Inputmask from "../inputmask";
-import {keyCode} from "../keycode.js";
 import escapeRegex from "../escapeRegex";
 import {seekNext} from "../positioning";
+import {keys} from "../keycode";
 
 const $ = Inputmask.dependencyLib;
 
@@ -544,7 +544,7 @@ Inputmask.extendAliases({
 		onKeyDown: function (e, buffer, caretPos, opts) {
 			var $input = $(this), bffr;
 			if (e.location != 3) {
-				var pattern, c = String.fromCharCode(e.keyCode).toLowerCase();
+				var pattern, c = e.key;
 				if ((pattern = (opts.shortcuts && opts.shortcuts[c]))) {
 					if (pattern.length > 1) {
 						this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) * parseInt(pattern));
@@ -554,19 +554,19 @@ Inputmask.extendAliases({
 				}
 			}
 			if (e.ctrlKey) {
-				switch (e.keyCode) {
-					case keyCode.Up:
+				switch (e.key) {
+					case keys.Up:
 						this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) + parseInt(opts.step));
 						$input.trigger("setvalue");
 						return false;
-					case keyCode.Down:
+					case keys.Down:
 						this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) - parseInt(opts.step));
 						$input.trigger("setvalue");
 						return false;
 				}
 			}
-			if (!e.shiftKey && (e.keyCode === keyCode.Delete || e.keyCode === keyCode.Backspace || e.keyCode === keyCode.BACKSPACE_SAFARI) && caretPos.begin !== buffer.length) {
-				if (buffer[e.keyCode === keyCode.Delete ? caretPos.begin - 1 : caretPos.end] === opts.negationSymbol.front) {
+			if (!e.shiftKey && (e.key === keys.Delete || e.key === keys.Backspace || e.key === keys.BACKSPACE_SAFARI) && caretPos.begin !== buffer.length) {
+				if (buffer[e.key === keys.Delete ? caretPos.begin - 1 : caretPos.end] === opts.negationSymbol.front) {
 					bffr = buffer.slice().reverse();
 					if (opts.negationSymbol.front !== "") bffr.shift();
 					if (opts.negationSymbol.back !== "") bffr.pop();
@@ -575,12 +575,12 @@ Inputmask.extendAliases({
 				} else if (opts._radixDance === true) {
 					var radixPos = buffer.indexOf(opts.radixPoint);
 					if (!opts.digitsOptional) {
-						if (radixPos !== -1 && (caretPos.begin < radixPos || caretPos.end < radixPos || (e.keyCode === keyCode.Delete && (caretPos.begin === radixPos || caretPos.begin - 1 === radixPos)))) {
+						if (radixPos !== -1 && (caretPos.begin < radixPos || caretPos.end < radixPos || (e.key === keys.Delete && (caretPos.begin === radixPos || caretPos.begin - 1 === radixPos)))) {
 							var restoreCaretPos = undefined;
 							if (caretPos.begin === caretPos.end) { //only adjust when not a selection
-								if (e.keyCode === keyCode.Backspace || e.keyCode === keyCode.BACKSPACE_SAFARI)
+								if (e.key === keys.Backspace || e.key === keys.BACKSPACE_SAFARI)
 									caretPos.begin++;
-								else if (e.keyCode === keyCode.Delete && caretPos.begin - 1 === radixPos) {
+								else if (e.key === keys.Delete && caretPos.begin - 1 === radixPos) {
 									restoreCaretPos = $.extend({}, caretPos);
 									caretPos.begin--;
 									caretPos.end--;

+ 4 - 4
lib/inputHandling.js

@@ -1,4 +1,4 @@
-import {keyCode} from "./keycode.js";
+import {keys} from "./keycode.js";
 import {getMaskTemplate, getPlaceholder, getTest} from "./validation-tests";
 import {
 	caret,
@@ -89,7 +89,7 @@ function checkVal(input, writeOut, strict, nptvl, initiatingEvent) {
 			} else*/
 			{
 				var keypress = new $.Event("_checkval");
-				keypress.keyCode = charCode.toString().charCodeAt(0);
+				keypress.key = charCode;
 				charCodes += charCode;
 				var lvp = getLastValidPosition.call(inputmask, undefined, true);
 				if (!isTemplateMatch(initialNdx, charCodes)) {
@@ -129,7 +129,7 @@ function checkVal(input, writeOut, strict, nptvl, initiatingEvent) {
 				var keypress = new $.Event("_checkval");
 				validPos = maskset.validPositions[sndx];
 				validPos.generatedInput = true;
-				keypress.keyCode = validPos.input.charCodeAt(0);
+				keypress.key = validPos.input;
 				result = EventHandlers.keypressEvent.call(inputmask, keypress, true, false, strict, nextSndx);
 				if (result && result.pos !== undefined && result.pos !== sndx && maskset.validPositions[result.pos] && maskset.validPositions[result.pos].match.static === true) {
 					staticMatches.push(result.pos);
@@ -234,7 +234,7 @@ function writeBuffer(input, buffer, caretPos, event, triggerEvents) {
 		input.inputmask._valueSet(buffer.join(""));
 		if (caretPos !== undefined && (event === undefined || event.type !== "blur")) {
 			// console.log(caretPos);
-			caret.call(inputmask, input, caretPos, undefined, undefined, (event !== undefined && event.type === "keydown" && (event.keyCode === keyCode.Delete || event.keyCode === keyCode.Backspace)));
+			caret.call(inputmask, input, caretPos, undefined, undefined, (event !== undefined && event.type === "keydown" && (event.key === keys.Delete || event.key === keys.Backspace)));
 		}
 		if (triggerEvents === true) {
 			var $input = $(input), nptVal = input.inputmask._valueGet();

+ 0 - 1
lib/inputmask.js

@@ -55,7 +55,6 @@ function Inputmask(alias, options, internal) {
     this.refreshValue = false; //indicate a refresh from the inputvalue is needed (form.reset)
     this.undoValue = undefined;
     this.$el = undefined;
-    this.skipKeyPressEvent = false; //Safari 5.1.x - modal dialog fires keypress twice workaround
     this.skipInputEvent = false; //skip when triggered from within inputmask
     this.validationEvent = false;
     this.ignorable = false;

+ 1 - 0
lib/keycode.js

@@ -17,6 +17,7 @@ const keyCode = {
     "Space": 32,
     "Tab": 9,
     "Up": 38,
+    "c": 67,
     "x": 88,
     "z": 90,
     "Shift": 16,

+ 3 - 3
lib/mask.js

@@ -1,4 +1,4 @@
-import {keyCode} from "./keycode.js";
+import {keys} from "./keycode.js";
 import {caret, getBuffer, getBufferTemplate, getLastValidPosition, resetMaskSet, seekNext} from "./positioning";
 import {applyInputValue, clearOptionalTail, writeBuffer} from "./inputHandling";
 import {EventRuler} from "./eventruler";
@@ -143,7 +143,7 @@ function mask() {
         }
 
         if (input.tagName.toLowerCase() !== "textarea") {
-            opts.ignorables.push(keyCode.Enter);
+            opts.ignorables.push(keys.Enter);
         }
 
         var elementType = input.getAttribute("type");
@@ -206,7 +206,7 @@ function mask() {
             EventRuler.on(el, "cleared", opts.oncleared);
             if (opts.inputEventOnly !== true) {
                 EventRuler.on(el, "keydown", EventHandlers.keydownEvent);
-                EventRuler.on(el, "keypress", EventHandlers.keypressEvent);
+                // EventRuler.on(el, "keypress", EventHandlers.keypressEvent);
                 EventRuler.on(el, "keyup", EventHandlers.keyupEvent);
             }
             if (mobile || opts.inputEventOnly) {

File diff suppressed because it is too large
+ 627 - 618
lib/validation.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "5.0.8-beta.29",
+  "version": "5.0.8-beta.34",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
   "main": "dist/inputmask.js",
   "files": [

+ 233 - 243
qunit/simulator.js

@@ -1,246 +1,236 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function ($, Inputmask) {
-	$.caret = function (input, begin, end) {
-		input = input.nodeName ? input : input[0];
-		input.focus();
-		var range;
-		if (typeof begin === "number") {
-			end = (typeof end == "number") ? end : begin;
-			// if (!$(input).is(":visible")) {
-			// 	return;
-			// }
-
-			if (input.setSelectionRange) {
-				input.setSelectionRange(begin, end);
-			} else if (window.getSelection) {
-				range = document.createRange();
-				if (input.firstChild === undefined) {
-					var textNode = document.createTextNode("");
-					input.appendChild(textNode);
-				}
-				range.setStart(input.firstChild, begin < input.value.length ? begin : input.value.length);
-				range.setEnd(input.firstChild, end < input.value.length ? end : input.value.length);
-				range.collapse(true);
-				var sel = window.getSelection();
-				sel.removeAllRanges();
-				sel.addRange(range);
-				//input.focus();
-			} else if (input.createTextRange) {
-				range = input.createTextRange();
-				range.collapse(true);
-				range.moveEnd("character", end);
-				range.moveStart("character", begin);
-				range.select();
-
-			}
-		} else {
-			if ("selectionStart" in input && "selectionEnd" in input) {
-				begin = input.selectionStart;
-				end = input.selectionEnd;
-			} else if (window.getSelection) {
-				range = window.getSelection().getRangeAt(0);
-				if (range.commonAncestorContainer.parentNode === input || range.commonAncestorContainer === input) {
-					begin = range.startOffset;
-					end = range.endOffset;
-				}
-			} else if (document.selection && document.selection.createRange) {
-				range = document.selection.createRange();
-				begin = 0 - range.duplicate().moveStart("character", -100000);
-				end = begin + range.text.length;
-			}
-			/*eslint-disable consistent-return */
-			return {
-				"begin": begin,
-				"end": end
-			};
-			/*eslint-enable consistent-return */
-		}
-	};
-	$.fn = $.fn || $.prototype;
-	$.fn.SendKey = function (keycode, modifier) {
-		var elem = this.nodeName ? this : this[0], origCode = keycode;
-		elem.type = "text"; //force textinput to support caret fn
-
-
-		function trigger(elem, evnt) {
-			elem.focus();
-			if ($ === window.jQuery) {
-				$(elem).trigger(evnt);
-			} else {
-				if (document.createEvent) {
-					elem.dispatchEvent(evnt);
-				} else {
-					elem.fireEvent("on" + evnt.eventType, evnt);
-				}
-			}
-		}
-
-		var sendDummyKeydown = false;
-		if (Object.prototype.toString.call(keycode) == "[object String]") {
-			keycode = keycode.charCodeAt(0);
-			sendDummyKeydown = true;
-		}
-
-		switch (keycode) {
-			case keyCode.Home:
-				if (modifier == undefined) {
-					var pos = $.caret(this);
-					$.caret(this, 0);
-					break;
-				}
-			case keyCode.End:
-				if (modifier == undefined) {
-					var pos = $.caret(this);
-					$.caret(this, elem.value.length);
-					break;
-				}
-			case keyCode.Left:
-				if (modifier == undefined) {
-					var pos = $.caret(this);
-					$.caret(this, pos.begin - 1);
-					break;
-				}
-			case keyCode.Right:
-				if (modifier == undefined) {
-					var pos = $.caret(this);
-					$.caret(this, pos.end + 1);
-					break;
-				}
-			default:
-				if ((window.Inputmask && window.Inputmask.prototype.defaults.inputEventOnly === true) ||
-					(elem.inputmask && elem.inputmask.opts.inputEventOnly === true)) {
-					var input = new $.Event("input"),
-						currentValue = (elem.inputmask && elem.inputmask.__valueGet) ? elem.inputmask.__valueGet.call(elem) : elem.value,
-						caretPos = $.caret(elem), caretOffset = 0;
-
-					// console.log("initial " + currentValue);
-					// console.log(caretPos);
-
-					var front = currentValue.substring(0, caretPos.begin),
-						back = currentValue.substring(caretPos.end),
-						newValue = currentValue;
-
-					switch (keycode) {
-						case keyCode.Backspace:
-							if (caretPos.begin === caretPos.end) {
-								front = front.substr(0, front.length - 1);
-							}
-							newValue = front + back;
-							break;
-						case keyCode.Delete:
-							if (origCode !== ".") {
-								if (caretPos.begin === caretPos.end) {
-									back = back.slice(1);
-								}
-								newValue = front + back;
-								break;
-							}
-						default:
-							newValue = front + String.fromCharCode(keycode) + back;
-							caretOffset = front.length > 0 ? 1 : 0;
-							break;
-					}
-
-					if (elem.inputmask && elem.inputmask.__valueSet) {
-						elem.inputmask.__valueSet.call(elem, newValue);
-					} else {
-						elem.value = newValue;
-					}
-					$.caret(elem, (newValue.length - back.length));
-					trigger(elem, input);
-				} else {
-					var keydown = new $.Event("keydown"),
-						keypress = new $.Event("keypress"),
-						keyup = new $.Event("keyup");
-
-					if (!sendDummyKeydown) {
-						keydown.keyCode = keycode;
-						if (modifier == keyCode.Control) {
-							keydown.ctrlKey = true;
-						}
-					}
-					trigger(elem, keydown);
-					if (!keydown.defaultPrevented) {
-						keypress.keyCode = keycode;
-						if (modifier == keyCode.Control) {
-							keypress.ctrlKey = true;
-						}
-						trigger(elem, keypress);
-						//if (!keypress.isDefaultPrevented()) {
-						keyup.keyCode = keycode;
-						if (modifier == keyCode.Control) {
-							keyup.ctrlKey = true;
-						}
-						trigger(elem, keyup);
-						//}
-					}
-				}
-		}
-	};
-	if (!("append" in $.fn)) {
-		$.fn.append = function (child) {
-			var input = this.nodeName ? this : this[0];
-			input.insertAdjacentHTML("beforeend", child);
-		};
-	}
-	if (!("remove" in $.fn)) {
-		$.fn.remove = function () {
-			var input = this.nodeName ? this : this[0];
-			if (input !== undefined && input !== null) {
-				input.parentElement.removeChild(input);
-				input = undefined;
-			}
-		};
-	}
-	if (!("val" in $.fn)) {
-		$.fn.val = function (value) {
-			var input = this.nodeName ? this : this[0];
-			if (value !== undefined) {
-				if (input.inputmask) {
-					input.inputmask._valueSet(value, true);
-					$(input).trigger("setvalue");
-				} else {
-					input.value = value;
-				}
-			}
-
-			return input.value;
-		};
-	}
-
-	$.fn.Type = function (inputStr) {
-		var input = this.nodeName ? this : this[0],
-			$input = $(input);
-		inputStr.split("").forEach(function ( lmnt, ndx) {
-			$input.SendKey(lmnt);
-		});
-	};
-
-	$.fn.paste = function (inputStr) {
-		var input = this.nodeName ? this : this[0],
-			$input = $(input);
-		if (window.clipboardData) {
-			window.clipboardData.setData("Text", inputStr);
-		} else {
-			$.data($input, "clipboard", inputStr);
-			window.clipboardData = {
-				getData: function () {
-					window.clipboardData = undefined;
-					return $.data($input, "clipboard");
-				}
-			};
-		}
-
-		$input.trigger("paste");
-	};
-
-	$.fn.input = function (inputStr, caretBegin, caretEnd) {
-		var input = this.nodeName ? this : this[0];
-		input.inputmask.__valueSet.call(input, inputStr);
-		if (caretBegin !== undefined) {
-			$.caret(input, caretBegin, caretEnd);
-		}
-		$(input).trigger("input");
-	};
+    $.caret = function (input, begin, end) {
+        input = input.nodeName ? input : input[0];
+        input.focus();
+        var range;
+        if (typeof begin === "number") {
+            end = (typeof end == "number") ? end : begin;
+            // if (!$(input).is(":visible")) {
+            // 	return;
+            // }
+
+            if (input.setSelectionRange) {
+                input.setSelectionRange(begin, end);
+            } else if (window.getSelection) {
+                range = document.createRange();
+                if (input.firstChild === undefined) {
+                    var textNode = document.createTextNode("");
+                    input.appendChild(textNode);
+                }
+                range.setStart(input.firstChild, begin < input.value.length ? begin : input.value.length);
+                range.setEnd(input.firstChild, end < input.value.length ? end : input.value.length);
+                range.collapse(true);
+                var sel = window.getSelection();
+                sel.removeAllRanges();
+                sel.addRange(range);
+                //input.focus();
+            } else if (input.createTextRange) {
+                range = input.createTextRange();
+                range.collapse(true);
+                range.moveEnd("character", end);
+                range.moveStart("character", begin);
+                range.select();
+
+            }
+        } else {
+            if ("selectionStart" in input && "selectionEnd" in input) {
+                begin = input.selectionStart;
+                end = input.selectionEnd;
+            } else if (window.getSelection) {
+                range = window.getSelection().getRangeAt(0);
+                if (range.commonAncestorContainer.parentNode === input || range.commonAncestorContainer === input) {
+                    begin = range.startOffset;
+                    end = range.endOffset;
+                }
+            } else if (document.selection && document.selection.createRange) {
+                range = document.selection.createRange();
+                begin = 0 - range.duplicate().moveStart("character", -100000);
+                end = begin + range.text.length;
+            }
+            /*eslint-disable consistent-return */
+            return {
+                "begin": begin,
+                "end": end
+            };
+            /*eslint-enable consistent-return */
+        }
+    };
+    $.fn = $.fn || $.prototype;
+    $.fn.SendKey = function (key, modifier) {
+        var elem = this.nodeName ? this : this[0], origCode = key;
+        elem.type = "text"; //force textinput to support caret fn
+
+
+        function trigger(elem, evnt) {
+            elem.focus();
+            if ($ === window.jQuery) {
+                $(elem).trigger(evnt);
+            } else {
+                if (document.createEvent) {
+                    elem.dispatchEvent(evnt);
+                } else {
+                    elem.fireEvent("on" + evnt.eventType, evnt);
+                }
+            }
+        }
+
+        switch (key) {
+            case keys.Home:
+                if (modifier == undefined) {
+                    $.caret(this, 0);
+                    break;
+                }
+            case keys.End:
+                if (modifier == undefined) {
+                    $.caret(this, elem.value.length);
+                    break;
+                }
+            case keys.Left:
+                if (modifier == undefined) {
+                    var pos = $.caret(this);
+                    $.caret(this, pos.begin - 1);
+                    break;
+                }
+            case keys.Right:
+                if (modifier == undefined) {
+                    var pos = $.caret(this);
+                    $.caret(this, pos.end + 1);
+                    break;
+                }
+            default:
+                if ((window.Inputmask && window.Inputmask.prototype.defaults.inputEventOnly === true) ||
+                    (elem.inputmask && elem.inputmask.opts.inputEventOnly === true)) {
+                    var input = new $.Event("input"),
+                        currentValue = (elem.inputmask && elem.inputmask.__valueGet) ? elem.inputmask.__valueGet.call(elem) : elem.value,
+                        caretPos = $.caret(elem), caretOffset = 0;
+
+                    // console.log("initial " + currentValue);
+                    // console.log(caretPos);
+
+                    var front = currentValue.substring(0, caretPos.begin),
+                        back = currentValue.substring(caretPos.end),
+                        newValue = currentValue;
+
+                    switch (key) {
+                        case keys.Backspace:
+                            if (caretPos.begin === caretPos.end) {
+                                front = front.substr(0, front.length - 1);
+                            }
+                            newValue = front + back;
+                            break;
+                        case keys.Delete:
+                            if (origCode !== ".") {
+                                if (caretPos.begin === caretPos.end) {
+                                    back = back.slice(1);
+                                }
+                                newValue = front + back;
+                                break;
+                            }
+                        default:
+                            newValue = front + key[0] + back;
+                            caretOffset = front.length > 0 ? 1 : 0;
+                            break;
+                    }
+
+                    if (elem.inputmask && elem.inputmask.__valueSet) {
+                        elem.inputmask.__valueSet.call(elem, newValue);
+                    } else {
+                        elem.value = newValue;
+                    }
+                    $.caret(elem, (newValue.length - back.length));
+                    trigger(elem, input);
+                } else {
+                    var keydown = new $.Event("keydown"),
+                        keypress = new $.Event("keypress"),
+                        keyup = new $.Event("keyup");
+
+                    keydown.key = key;
+                    if (modifier == keys.Control) {
+                        keydown.ctrlKey = true;
+                    }
+                    trigger(elem, keydown);
+                    if (!keydown.defaultPrevented) {
+                        keypress.key = key;
+                        if (modifier == keys.Control) {
+                            keypress.ctrlKey = true;
+                        }
+                        trigger(elem, keypress);
+                        //if (!keypress.isDefaultPrevented()) {
+                        keyup.key = key;
+                        if (modifier == keys.Control) {
+                            keyup.ctrlKey = true;
+                        }
+                        trigger(elem, keyup);
+                        //}
+                    }
+                }
+        }
+    };
+    if (!("append" in $.fn)) {
+        $.fn.append = function (child) {
+            var input = this.nodeName ? this : this[0];
+            input.insertAdjacentHTML("beforeend", child);
+        };
+    }
+    if (!("remove" in $.fn)) {
+        $.fn.remove = function () {
+            var input = this.nodeName ? this : this[0];
+            if (input !== undefined && input !== null) {
+                input.parentElement.removeChild(input);
+                input = undefined;
+            }
+        };
+    }
+    if (!("val" in $.fn)) {
+        $.fn.val = function (value) {
+            var input = this.nodeName ? this : this[0];
+            if (value !== undefined) {
+                if (input.inputmask) {
+                    input.inputmask._valueSet(value, true);
+                    $(input).trigger("setvalue");
+                } else {
+                    input.value = value;
+                }
+            }
+
+            return input.value;
+        };
+    }
+
+    $.fn.Type = function (inputStr) {
+        var input = this.nodeName ? this : this[0],
+            $input = $(input);
+        inputStr.split("").forEach(function (lmnt, ndx) {
+            $input.SendKey(lmnt);
+        });
+    };
+
+    $.fn.paste = function (inputStr) {
+        var input = this.nodeName ? this : this[0],
+            $input = $(input);
+        if (window.clipboardData) {
+            window.clipboardData.setData("Text", inputStr);
+        } else {
+            $.data($input, "clipboard", inputStr);
+            window.clipboardData = {
+                getData: function () {
+                    window.clipboardData = undefined;
+                    return $.data($input, "clipboard");
+                }
+            };
+        }
+
+        $input.trigger("paste");
+    };
+
+    $.fn.input = function (inputStr, caretBegin, caretEnd) {
+        var input = this.nodeName ? this : this[0];
+        input.inputmask.__valueSet.call(input, inputStr);
+        if (caretBegin !== undefined) {
+            $.caret(input, caretBegin, caretEnd);
+        }
+        $(input).trigger("input");
+    };
 }

+ 18 - 18
qunit/tests_base.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import { keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -56,7 +56,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("123");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.value, "12_.___.___", "Result " + testmask.value);
 	});
 
@@ -106,11 +106,11 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("123");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Backspace);
 		$("#testmask").Type("4");
-		$("#testmask").SendKey(keyCode.Right);
+		$("#testmask").SendKey(keys.Right);
 		$("#testmask").Type("56");
 
 		assert.equal(testmask.value, "143.56_.___", "Result " + testmask.value);
@@ -125,12 +125,12 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("123");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type("4");
-		$("#testmask").SendKey(keyCode.Right);
+		$("#testmask").SendKey(keys.Right);
 		$("#testmask").Type("56");
 
 		assert.equal(testmask.value, "143.56_.___", "Result " + testmask.value);
@@ -146,7 +146,7 @@ export default function (qunit, Inputmask) {
 
 		$("#testmask").Type("123456789");
 		$.caret(testmask, 3, 7);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "123.789.___", "Result " + testmask.value);
 	});
@@ -161,7 +161,7 @@ export default function (qunit, Inputmask) {
 
 		$("#testmask").Type("123456789");
 		$.caret(testmask, 3, 7);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "123.789.___", "Result " + testmask.value);
 	});
@@ -190,7 +190,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("abe");
-		$("#testmask").SendKey(keyCode.Left);
+		$("#testmask").SendKey(keys.Left);
 		$("#testmask").Type("cd");
 
 		assert.equal(testmask.value, "abcde", "Result " + testmask.value);
@@ -246,7 +246,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").Type("9999999999");
 
 		$.caret(testmask, 8, 11);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		assert.equal(testmask.value, "(999)999-99__", "Result " + testmask.value);
 	});
 
@@ -260,7 +260,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").Type("1234567890");
 
 		$.caret(testmask, 2, 3);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.value, "124 56 78 90_", "Result " + testmask.value);
 	});
 
@@ -274,7 +274,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("abcd 1234");
 		$.caret(testmask, 3);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "abd_ 1234", "Result " + testmask.value);
 		done();
@@ -541,4 +541,4 @@ export default function (qunit, Inputmask) {
 	});
 
 
-};
+}

+ 38 - 38
qunit/tests_date.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -81,7 +81,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 
 		testmask.focus();
-		$("#testmask").SendKey(keyCode.Right, keyCode.Control);
+		$("#testmask").SendKey(keys.Right, keys.Control);
 		var today = new Date();
 		today = pad(today.getDate(), 2) + "/" + pad(parseInt(today.getMonth()) + 1, 2) + "/" + today.getFullYear();
 		assert.equal(testmask.value, today, "Result " + testmask.value);
@@ -97,10 +97,10 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("2331973");
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
 	});
@@ -116,10 +116,10 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("2331973");
 		$.caret(testmask, "23/03/".length);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
 	});
@@ -358,7 +358,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 
 		testmask.focus();
-		$("#testmask").SendKey(keyCode.Right, keyCode.Control);
+		$("#testmask").SendKey(keys.Right, keys.Control);
 		var today = new Date();
 		today = pad(parseInt(today.getMonth()) + 1, 2) + "/" + pad(today.getDate(), 2) + "/" + today.getFullYear();
 		assert.equal(testmask.value, today, "Result " + testmask.value);
@@ -374,10 +374,10 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("3231973");
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
 	});
@@ -393,10 +393,10 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("3231973");
 		$.caret(testmask, "03/23/".length);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
 	});
@@ -617,7 +617,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 
 		testmask.focus();
-		$("#testmask").SendKey(keyCode.Right, keyCode.Control);
+		$("#testmask").SendKey(keys.Right, keys.Control);
 		var today = new Date();
 		today = pad(today.getDate(), 2) + "." + pad(parseInt(today.getMonth()) + 1, 2) + "." + today.getFullYear();
 		assert.equal(testmask.value, today, "Result " + testmask.value);
@@ -633,10 +633,10 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("2331973");
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "23.03.yyyy", "Result " + testmask.value);
 	});
@@ -652,10 +652,10 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("2331973");
 		$.caret(testmask, "23.03.".length);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "23.03.yyyy", "Result " + testmask.value);
 	});
@@ -891,12 +891,12 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("235959");
 
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "", "Result " + testmask.value);
 	});
@@ -986,10 +986,10 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("24");
 		$.caret(testmask, "HH:".length);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		$("#testmask").Type("2");
 
 

+ 5 - 5
qunit/tests_dynamic.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import { keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -277,7 +277,7 @@ export default function (qunit, Inputmask) {
 
 		$("#testmask").Type("abc1234");
 		$.caret(testmask, 2);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		assert.equal(document.getElementById("testmask").inputmask._valueGet(), "ab-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
 	});
 
@@ -335,7 +335,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("some.body@mail.com");
 		$.caret(testmask, 9);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		assert.equal($.caret(testmask).begin, "some.body@".length, "Result " + $.caret(testmask).begin);
 	});
 
@@ -474,8 +474,8 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").val("some.body@mymail.com");
 		$.caret(testmask, "some.body@m".length);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
 	});
 };

+ 3 - 3
qunit/tests_initialvalue.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import { keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -125,7 +125,7 @@ export default function (qunit, Inputmask) {
 		Inputmask("6703 9999 9999 9999 9").mask(testmask);
 		testmask.focus();
 		$("#testmask").Type("1234567890123");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "6703 1234 5678 9012 _", "Result " + testmask.value);
 	});
@@ -140,7 +140,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").trigger("click");
 		setTimeout(function () {
 			$("#testmask").Type("6703670367036");
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "6703 6703 6703 6703 _", "Result " + testmask.value);
 			done();
 		}, 0);

+ 10 - 10
qunit/tests_inputeventonly.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -112,10 +112,10 @@ export default function (qunit, Inputmask) {
 		$("#testmask").trigger("click");
 		setTimeout(function () {
 			$(testmask).Type("56,03");
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			$(testmask).Type("0,03");
 			assert.equal(testmask.value, "50,03", "Result " + testmask.value);
 			done();
@@ -162,10 +162,10 @@ export default function (qunit, Inputmask) {
 		$.caret(testmask, 3);
 		setTimeout(function () {
 			$(testmask).Type("1234.56");
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 123.00", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -189,4 +189,4 @@ export default function (qunit, Inputmask) {
 			done();
 		}, 0);
 	});
-};
+}

+ 2 - 2
qunit/tests_ip.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -89,7 +89,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").Type("123123123123");
 		testmask2.focus();
 		$.caret(testmask, 4);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		setTimeout(function () {
 			assert.equal(testmask.value, "123.23.123.123", "Result " + testmask.value);
 			done();

+ 3 - 3
qunit/tests_keepStatic.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -77,7 +77,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 		testmask.focus();
 		$("#testmask").Type("12123451234");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-1234-5123", "Result " + document.getElementById("testmask").inputmask._valueGet());
 
@@ -244,7 +244,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 		testmask.focus();
 		$("#testmask").Type("12123412345");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1234-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
 
 

+ 4 - 4
qunit/tests_multi.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -345,9 +345,9 @@ export default function (qunit, Inputmask) {
 		Inputmask("(99 99 999999)|(*{+})").mask(testmask);
 
 		$("#testmask").Type("12 34");
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		$("#testmask").Type("2abc");
 		assert.equal(testmask.value, "122abc", "Result " + testmask.value);
 	});

+ 64 - 64
qunit/tests_numeric.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -326,7 +326,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		setTimeout(function () {
 			$("#testmask").Type("0.123");
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 
 			assert.equal(testmask.value, "€ 0.12", "Result " + testmask.value);
 			done();
@@ -443,9 +443,9 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("12345.123");
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		$(testmask).trigger("blur");
 		setTimeout(function () {
 			assert.equal(testmask.value, "12,345", "Result " + testmask.value);
@@ -463,12 +463,12 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("12345.123");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type("789");
 
 		assert.equal(testmask.value, "12,345.789", "Result " + testmask.value);
@@ -504,14 +504,14 @@ export default function (qunit, Inputmask) {
 
 		$("#testmask").Type("12345.123");
 		//$("#testmask").trigger("click");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$(testmask).trigger("blur");
 		assert.equal(testmask.value, "12,345", "Result " + testmask.value);
 
@@ -526,14 +526,14 @@ export default function (qunit, Inputmask) {
 
 		$("#testmask").Type("12345.123");
 		//$("#testmask").trigger("click");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$(testmask).trigger("blur");
 		assert.equal(testmask.value, "12345", "Result " + testmask.value);
 
@@ -547,14 +547,14 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 
 		$("#testmask").Type("12345.123");
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Left);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Left);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type(".789");
 
 		assert.equal(testmask.value, "12345.789", "Result " + testmask.value);
@@ -706,7 +706,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("1234567");
 		$.caret(testmask, 0);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "234,567", "Result " + testmask.value);
 
@@ -726,7 +726,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("1234567");
 		$.caret(testmask, 1);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "234,567", "Result " + testmask.value);
 
@@ -1025,7 +1025,7 @@ export default function (qunit, Inputmask) {
 			$.caret(testmask, 8);
 			$("#testmask").Type("78");
 			$.caret(testmask, 5);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "12346.078", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -1045,7 +1045,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("1234");
 			$.caret(testmask, 3);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 234.00", "Result " + testmask.value);
 			done();
 		}, 5);
@@ -1105,7 +1105,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("1.23");
 			$.caret(testmask, 3);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 0.23", "Result " + testmask.value);
 			done();
 		}, 5);
@@ -1125,7 +1125,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("1234.56");
 			$.caret(testmask, 0, 10);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.inputmask._valueGet(true), "$ 0.00", "Result " + testmask.inputmask._valueGet(true));
 			done();
 		}, 5);
@@ -1269,7 +1269,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("1010");
 			$.caret(testmask, 3);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 10.00", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -1289,7 +1289,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("1010");
 			$.caret(testmask, 6);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 100.00", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -1309,7 +1309,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("-1234");
 			$.caret(testmask, 0);
-			$("#testmask").SendKey(keyCode.Delete);
+			$("#testmask").SendKey(keys.Delete);
 			assert.equal(testmask.value, "$ 1,234.00", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -1371,7 +1371,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").Type("123456789");
 		$.caret(testmask, 9);
 		$("#testmask").SendKey(",");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.value, "123 456 789", "Result " + testmask.value);
 
 	});
@@ -1414,7 +1414,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").Type("1234567890");
 		$.caret(testmask, 11);
 		$("#testmask").SendKey(",");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.value, "1 234 567 890", "Result " + testmask.value);
 	});
 
@@ -1517,7 +1517,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("123.123");
 			$.caret(testmask, 0, testmask.value.length);
-			$("#testmask").SendKey(keyCode.Delete);
+			$("#testmask").SendKey(keys.Delete);
 			assert.equal(testmask.value, "", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -1787,7 +1787,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("1");
 		$.caret(testmask, 3);
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.inputmask._valueGet(true), "$ 0", "Result " + testmask.inputmask._valueGet(true));
 	});
@@ -1804,7 +1804,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("1");
 		$.caret(testmask, 2);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.inputmask._valueGet(true), "$ 0", "Result " + testmask.inputmask._valueGet(true));
 	});
@@ -1825,7 +1825,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("30");
 		$.caret(testmask, 1);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type("1");
 		assert.equal(testmask.value, "31 %", "Result " + testmask.value);
 	});
@@ -1937,7 +1937,7 @@ export default function (qunit, Inputmask) {
 
 		$(testmask).Type("38800");
 		$.caret(testmask, 3);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type("8");
 
 		assert.equal(testmask.value, "38,800", "Result " + testmask.value);
@@ -1951,7 +1951,7 @@ export default function (qunit, Inputmask) {
 			{ groupSeparator: "," }).mask(testmask);
 
 		$(testmask).Type("100.");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 
 		assert.equal(testmask.value, "100", "Result " + testmask.value);
 	});
@@ -1969,10 +1969,10 @@ export default function (qunit, Inputmask) {
 
 		$(testmask).Type("1.23");
 		$.caret(testmask, 0);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
+		$("#testmask").SendKey(keys.Delete);
 
 		assert.equal(testmask.value, "0.00", "Result " + testmask.value);
 	});
@@ -2119,10 +2119,10 @@ export default function (qunit, Inputmask) {
 		$.caret(testmask, 3);
 		setTimeout(function () {
 			$(testmask).Type("1234.56");
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			assert.equal(testmask.value, "$ 123.00", "Result " + testmask.value);
 			done();
 		}, 0);
@@ -2164,7 +2164,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").trigger("click");
 		$(testmask).Type("12345");
 		setTimeout(function () {
-			$("#testmask").SendKey(keyCode.End);
+			$("#testmask").SendKey(keys.End);
 			$(testmask).Type("6");
 			assert.equal(testmask.value, "1234.56", "Result " + testmask.value);
 			done();
@@ -2187,7 +2187,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").trigger("click");
 		setTimeout(function () {
-			$("#testmask").SendKey(keyCode.End);
+			$("#testmask").SendKey(keys.End);
 			$(testmask).Type("6");
 
 			assert.equal(testmask.value, "1234.56", "Result " + testmask.value);
@@ -2211,7 +2211,7 @@ export default function (qunit, Inputmask) {
 		$("#testmask").trigger("click");
 		$(testmask).Type("12345");
 		setTimeout(function () {
-			$("#testmask").SendKey(keyCode.Right);
+			$("#testmask").SendKey(keys.Right);
 			$(testmask).Type("6");
 			assert.equal(testmask.value, "1234.56", "Result " + testmask.value);
 			done();
@@ -2233,7 +2233,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").trigger("click");
 		setTimeout(function () {
-			$("#testmask").SendKey(keyCode.Right);
+			$("#testmask").SendKey(keys.Right);
 			$(testmask).Type("6");
 			assert.equal(testmask.value, "1234.56", "Result " + testmask.value);
 			done();

+ 16 - 16
qunit/tests_numericinput.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import { keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -16,12 +16,12 @@ export default function (qunit, Inputmask) {
 			$("#testmask").SendKey("1");
 			$("#testmask").SendKey("2");
 			$("#testmask").SendKey("3");
-			$("#testmask").SendKey(keyCode.Right);
-			$("#testmask").SendKey(keyCode.Right);
-			$("#testmask").SendKey(keyCode.Right);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Right);
+			$("#testmask").SendKey(keys.Right);
+			$("#testmask").SendKey(keys.Right);
+			$("#testmask").SendKey(keys.Backspace);
 			$("#testmask").SendKey("4");
-			$("#testmask").SendKey(keyCode.Left);
+			$("#testmask").SendKey(keys.Left);
 			$("#testmask").SendKey("5");
 			$("#testmask").SendKey("6");
 			assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
@@ -42,11 +42,11 @@ export default function (qunit, Inputmask) {
 			$("#testmask").SendKey("1");
 			$("#testmask").SendKey("2");
 			$("#testmask").SendKey("3");
-			$("#testmask").SendKey(keyCode.Right);
-			$("#testmask").SendKey(keyCode.Right);
-			$("#testmask").SendKey(keyCode.Delete);
+			$("#testmask").SendKey(keys.Right);
+			$("#testmask").SendKey(keys.Right);
+			$("#testmask").SendKey(keys.Delete);
 			$("#testmask").SendKey("4");
-			$("#testmask").SendKey(keyCode.Left);
+			$("#testmask").SendKey(keys.Left);
 			$("#testmask").SendKey("5");
 			$("#testmask").SendKey("6");
 			assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
@@ -100,7 +100,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("123456789");
 			$.caret(testmask, 4, 7);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			$("#testmask").Type("5");
 			assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
 			done();
@@ -119,7 +119,7 @@ export default function (qunit, Inputmask) {
 		setTimeout(function () {
 			$("#testmask").Type("123456789");
 			$.caret(testmask, 4, 7);
-			$("#testmask").SendKey(keyCode.Delete);
+			$("#testmask").SendKey(keys.Delete);
 			$("#testmask").Type("5");
 			assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
 			done();
@@ -338,10 +338,10 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		setTimeout(function () {
 			$("#testmask").Type("123456");
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 
 			assert.equal(testmask.value, "$ 0.12", "Result " + testmask.value);
 			done();

+ 7 - 7
qunit/tests_optional.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -105,7 +105,7 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("123123");
-		$("#testmask").SendKey(keyCode.Space);
+		$("#testmask").SendKey(keys.Space);
 		$("#testmask").Type("1234");
 		assert.equal(testmask.value, "123 123 1234", "Result " + testmask.value);
 	});
@@ -229,7 +229,7 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("123456");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
 	});
 
@@ -244,7 +244,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		setTimeout(function () {
 			$("#testmask").Type("123456");
-			$("#testmask").SendKey(keyCode.Backspace);
+			$("#testmask").SendKey(keys.Backspace);
 			testmask.blur();
 			setTimeout(function () {
 				assert.equal($("#testmask")[0].inputmask._valueGet(), "12345", "Result " + $("#testmask")[0].inputmask._valueGet());
@@ -264,7 +264,7 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("123456");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		setTimeout(function () {
 			assert.equal(testmask.value, "12345", "Result " + testmask.value);
 			done();
@@ -279,7 +279,7 @@ export default function (qunit, Inputmask) {
 
 		testmask.focus();
 		$("#testmask").Type("12345678901");
-		$("#testmask").SendKey(keyCode.Backspace);
+		$("#testmask").SendKey(keys.Backspace);
 		assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
 	});
 
@@ -324,7 +324,7 @@ export default function (qunit, Inputmask) {
 		testmask.focus();
 		$("#testmask").Type("abcd1");
 		$.caret(testmask, 0, testmask.value.length - 2);
-		$("#testmask").SendKey(keyCode.Delete);
+		$("#testmask").SendKey(keys.Delete);
 		$("#testmask").Type("abcd");
 
 		assert.equal(testmask.value, "abcd XYZ 1", "Result " + testmask.value);

+ 2 - 2
qunit/tests_regex.js

@@ -1,4 +1,4 @@
-import {keyCode} from "../lib/keycode";
+import {keys} from "../lib/keycode";
 
 export default function (qunit, Inputmask) {
 	var $ = Inputmask.dependencyLib;
@@ -327,7 +327,7 @@ export default function (qunit, Inputmask) {
 		}).mask(testmask);
 
 		testmask.focus();
-		$("#testmask").SendKey(keyCode.Space);
+		$("#testmask").SendKey(keys.Space);
 
 		assert.equal(testmask.value, " ", "Result " + testmask.value);
 	});