Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

keycon

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keycon - npm Package Compare versions

Comparing version 0.2.2 to 0.3.0

4

declaration/KeyController.d.ts
import Component from "@egjs/component";
export declare function getKey(keyCode: number): string;
export declare function getCombi(e: KeyboardEvent, key?: string): string[];
export interface KeyControllerEvent {

@@ -18,3 +20,3 @@ inputEvent: KeyboardEvent;

constructor(container?: Window | Document | HTMLElement);
clear: () => void;
clear: () => this;
keydown(comb: string | string[], callback: (e: KeyControllerEvent) => void): this;

@@ -21,0 +23,0 @@ keydown(callback: (e: KeyControllerEvent) => void): this;

/*
Copyright (c) 2019 Daybrush
Copyright (c) Daybrush
name: keycon

@@ -7,3 +7,3 @@ license: MIT

repository: git+https://github.com/daybrush/keycon.git
version: 0.2.2
version: 0.3.0
*/

@@ -67,2 +67,3 @@ import Component from '@egjs/component';

*/
function keyCode(searchInput) {

@@ -73,18 +74,24 @@ // Keyboard Events

if (hasKeyCode) searchInput = hasKeyCode;
} // Numbers
}
// Numbers
if ('number' === typeof searchInput) return names[searchInput]
if ('number' === typeof searchInput) return names[searchInput]; // Everything else (cast to string)
// Everything else (cast to string)
var search = String(searchInput);
var search = String(searchInput); // check codes
// check codes
var foundNamedKey = codes[search.toLowerCase()];
if (foundNamedKey) return foundNamedKey; // check aliases
if (foundNamedKey) return foundNamedKey
// check aliases
var foundNamedKey = aliases[search.toLowerCase()];
if (foundNamedKey) return foundNamedKey; // weird character?
if (foundNamedKey) return foundNamedKey
if (search.length === 1) return search.charCodeAt(0);
return undefined;
// weird character?
if (search.length === 1) return search.charCodeAt(0)
return undefined
}
/**

@@ -98,30 +105,17 @@ * Compares a keyboard event with a given keyCode or keyName.

*/
keyCode.isEventKey = function isEventKey(event, nameOrCode) {
if (event && 'object' === typeof event) {
var keyCode = event.which || event.keyCode || event.charCode;
if (keyCode === null || keyCode === undefined) {
return false;
}
if (keyCode === null || keyCode === undefined) { return false; }
if (typeof nameOrCode === 'string') {
// check codes
var foundNamedKey = codes[nameOrCode.toLowerCase()];
if (foundNamedKey) { return foundNamedKey === keyCode; }
if (foundNamedKey) {
return foundNamedKey === keyCode;
} // check aliases
// check aliases
var foundNamedKey = aliases[nameOrCode.toLowerCase()];
if (foundNamedKey) {
return foundNamedKey === keyCode;
}
if (foundNamedKey) { return foundNamedKey === keyCode; }
} else if (typeof nameOrCode === 'number') {
return nameOrCode === keyCode;
}
return false;

@@ -132,2 +126,3 @@ }

exports = module.exports = keyCode;
/**

@@ -182,5 +177,7 @@ * Get by name

']': 221,
"'": 222 // Helper aliases
"'": 222
};
};
// Helper aliases
var aliases = exports.aliases = {

@@ -207,19 +204,20 @@ 'windows': 91,

'cmd': 91
/*!
* Programatically add the following
*/
// lower case chars
};
for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32; // numbers
/*!
* Programatically add the following
*/
// lower case chars
for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32;
for (var i = 48; i < 58; i++) codes[i - 48] = i; // function keys
// numbers
for (var i = 48; i < 58; i++) codes[i - 48] = i;
// function keys
for (i = 1; i < 13; i++) codes['f'+i] = i + 111;
for (i = 1; i < 13; i++) codes['f' + i] = i + 111; // numpad keys
// numpad keys
for (i = 0; i < 10; i++) codes['numpad '+i] = i + 96;
for (i = 0; i < 10; i++) codes['numpad ' + i] = i + 96;
/**

@@ -231,9 +229,8 @@ * Get by code

var names = exports.names = exports.title = {}; // title for backward compat
var names = exports.names = exports.title = {}; // title for backward compat
// Create reverse mapping
for (i in codes) names[codes[i]] = i;
for (i in codes) names[codes[i]] = i; // Add aliases
// Add aliases
for (var alias in aliases) {

@@ -281,3 +278,2 @@ codes[alias] = aliases[alias];

function isArray(value) {

@@ -300,3 +296,2 @@ return Array.isArray(value);

function isString(value) {

@@ -320,3 +315,2 @@ return typeof value === STRING;

function addEvent(el, type, listener, options) {

@@ -337,2 +331,5 @@ el.addEventListener(type, listener, options);

};
/**
* @memberof KeyController
*/

@@ -348,4 +345,11 @@ function getKey(keyCode) {

}
/**
* @memberof KeyController
*/
function getCombi(e, key) {
if (key === void 0) {
key = getKey(e.keyCode);
}
var keys = [e.shiftKey && "shift", e.ctrlKey && "ctrl", e.altKey && "alt", e.metaKey && "meta"];

@@ -409,2 +413,3 @@ keys.indexOf(key) === -1 && keys.push(key);

_this.metaKey = false;
return _this;
};

@@ -483,2 +488,3 @@

export default KeyController;
export { getCombi, getKey };
//# sourceMappingURL=keycon.esm.js.map
/*
Copyright (c) 2019 Daybrush
Copyright (c) Daybrush
name: keycon

@@ -7,5 +7,5 @@ license: MIT

repository: git+https://github.com/daybrush/keycon.git
version: 0.2.2
version: 0.3.0
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@egjs/component"),require("@daybrush/utils")):"function"==typeof define&&define.amd?define(["@egjs/component","@daybrush/utils"],t):(e=e||self).keycon=t(e.eg.Component,e.utils)}(this,function(e,r){"use strict";var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var t,n=(function(e,t){function n(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return a[e];var n,r=String(e);return(n=o[r.toLowerCase()])?n:(n=i[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null==n)return!1;if("string"==typeof t){var r;if(r=o[t.toLowerCase()])return r===n;if(r=i[t.toLowerCase()])return r===n}else if("number"==typeof t)return t===n;return!1}};var o=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=t.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(r=97;r<123;r++)o[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)o[r-48]=r;for(r=1;r<13;r++)o["f"+r]=r+111;for(r=0;r<10;r++)o["numpad "+r]=r+96;var a=t.names=t.title={};for(r in o)a[o[r]]=r;for(var c in i)o[c]=i[c]}(t={exports:{}},t.exports),t.exports),i=(n.code,n.codes,n.aliases,n.names),a=(n.title,{"+":"plus","left command":"meta","right command":"meta"}),c={shift:1,ctrl:2,alt:3,meta:4};return function(n){function e(e){void 0===e&&(e=window);var t=n.call(this)||this;return t.ctrlKey=!1,t.altKey=!1,t.shiftKey=!1,t.metaKey=!1,t.clear=function(){t.ctrlKey=!1,t.altKey=!1,t.shiftKey=!1,t.metaKey=!1},t.keydownEvent=function(e){t.triggerEvent("keydown",e)},t.keyupEvent=function(e){t.triggerEvent("keyup",e)},r.addEvent(e,"blur",t.clear),r.addEvent(e,"keydown",t.keydownEvent),r.addEvent(e,"keyup",t.keyupEvent),t}!function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(e,n);var t=e.prototype;return t.keydown=function(e,t){return this.addEvent("keydown",e,t)},t.keyup=function(e,t){return this.addEvent("keyup",e,t)},t.addEvent=function(e,t,n){return r.isArray(t)?this.on(e+"."+function(e){var t=e.slice();return t.sort(function(e,t){return(c[e]||5)-(c[t]||5)}),t}(t).join("."),n):r.isString(t)?this.on(e+"."+t,n):this.on(e,t),this},t.triggerEvent=function(e,t){this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey;var n=function(e){var t=i[e]||"";for(var n in a)t=t.replace(n,a[n]);return t.replace(/\s/g,"")}(t.keyCode),r={key:n,isToggle:"ctrl"===n||"shift"===n||"meta"===n||"alt"===n,inputEvent:t,keyCode:t.keyCode,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey};this.trigger(e,r),this.trigger(e+"."+n,r);var o=function(e,t){var n=[e.shiftKey&&"shift",e.ctrlKey&&"ctrl",e.altKey&&"alt",e.metaKey&&"meta"];return-1===n.indexOf(t)&&n.push(t),n.filter(Boolean)}(t,n);1<o.length&&this.trigger(e+"."+o.join("."),r)},e}(e)});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@egjs/component"),require("@daybrush/utils")):"function"==typeof define&&define.amd?define(["@egjs/component","@daybrush/utils"],t):(e=e||self).keycon=t(e.eg.Component,e.utils)}(this,function(e,n){"use strict";var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var t,r=(function(e,t){function r(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return a[e];var r,n=String(e);return(r=o[n.toLowerCase()])?r:(r=i[n.toLowerCase()])||(1===n.length?n.charCodeAt(0):void 0)}r.isEventKey=function(e,t){if(e&&"object"==typeof e){var r=e.which||e.keyCode||e.charCode;if(null==r)return!1;if("string"==typeof t){var n;if(n=o[t.toLowerCase()])return n===r;if(n=i[t.toLowerCase()])return n===r}else if("number"==typeof t)return t===r;return!1}};var o=(t=e.exports=r).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=t.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(n=97;n<123;n++)o[String.fromCharCode(n)]=n-32;for(var n=48;n<58;n++)o[n-48]=n;for(n=1;n<13;n++)o["f"+n]=n+111;for(n=0;n<10;n++)o["numpad "+n]=n+96;var a=t.names=t.title={};for(n in o)a[o[n]]=n;for(var c in i)o[c]=i[c]}(t={exports:{}},t.exports),t.exports),i=(r.code,r.codes,r.aliases,r.names),a=(r.title,{"+":"plus","left command":"meta","right command":"meta"}),c={shift:1,ctrl:2,alt:3,meta:4};function s(e){var t=i[e]||"";for(var r in a)t=t.replace(r,a[r]);return t.replace(/\s/g,"")}function u(e,t){void 0===t&&(t=s(e.keyCode));var r=[e.shiftKey&&"shift",e.ctrlKey&&"ctrl",e.altKey&&"alt",e.metaKey&&"meta"];return-1===r.indexOf(t)&&r.push(t),r.filter(Boolean)}var f=function(r){function e(e){void 0===e&&(e=window);var t=r.call(this)||this;return t.ctrlKey=!1,t.altKey=!1,t.shiftKey=!1,t.metaKey=!1,t.clear=function(){return t.ctrlKey=!1,t.altKey=!1,t.shiftKey=!1,t.metaKey=!1,t},t.keydownEvent=function(e){t.triggerEvent("keydown",e)},t.keyupEvent=function(e){t.triggerEvent("keyup",e)},n.addEvent(e,"blur",t.clear),n.addEvent(e,"keydown",t.keydownEvent),n.addEvent(e,"keyup",t.keyupEvent),t}!function(e,t){function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(e,r);var t=e.prototype;return t.keydown=function(e,t){return this.addEvent("keydown",e,t)},t.keyup=function(e,t){return this.addEvent("keyup",e,t)},t.addEvent=function(e,t,r){return n.isArray(t)?this.on(e+"."+function(e){var t=e.slice();return t.sort(function(e,t){return(c[e]||5)-(c[t]||5)}),t}(t).join("."),r):n.isString(t)?this.on(e+"."+t,r):this.on(e,t),this},t.triggerEvent=function(e,t){this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey;var r=s(t.keyCode),n={key:r,isToggle:"ctrl"===r||"shift"===r||"meta"===r||"alt"===r,inputEvent:t,keyCode:t.keyCode,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey};this.trigger(e,n),this.trigger(e+"."+r,n);var o=u(t,r);1<o.length&&this.trigger(e+"."+o.join("."),n)},e}(e);return f.getKey=s,f.getCombi=u,f});
//# sourceMappingURL=keycon.js.map
/*
Copyright (c) 2019 Daybrush
Copyright (c) Daybrush
name: keycon

@@ -7,3 +7,3 @@ license: MIT

repository: git+https://github.com/daybrush/keycon.git
version: 0.2.2
version: 0.3.0
*/

@@ -63,3 +63,2 @@ (function (global, factory) {

*/
/**

@@ -363,2 +362,3 @@ * Copyright (c) 2015 NAVER Corp.

*/
function keyCode(searchInput) {

@@ -369,18 +369,24 @@ // Keyboard Events

if (hasKeyCode) searchInput = hasKeyCode;
} // Numbers
}
// Numbers
if ('number' === typeof searchInput) return names[searchInput]
if ('number' === typeof searchInput) return names[searchInput]; // Everything else (cast to string)
// Everything else (cast to string)
var search = String(searchInput);
var search = String(searchInput); // check codes
// check codes
var foundNamedKey = codes[search.toLowerCase()];
if (foundNamedKey) return foundNamedKey; // check aliases
if (foundNamedKey) return foundNamedKey
// check aliases
var foundNamedKey = aliases[search.toLowerCase()];
if (foundNamedKey) return foundNamedKey; // weird character?
if (foundNamedKey) return foundNamedKey
if (search.length === 1) return search.charCodeAt(0);
return undefined;
// weird character?
if (search.length === 1) return search.charCodeAt(0)
return undefined
}
/**

@@ -394,30 +400,17 @@ * Compares a keyboard event with a given keyCode or keyName.

*/
keyCode.isEventKey = function isEventKey(event, nameOrCode) {
if (event && 'object' === typeof event) {
var keyCode = event.which || event.keyCode || event.charCode;
if (keyCode === null || keyCode === undefined) {
return false;
}
if (keyCode === null || keyCode === undefined) { return false; }
if (typeof nameOrCode === 'string') {
// check codes
var foundNamedKey = codes[nameOrCode.toLowerCase()];
if (foundNamedKey) { return foundNamedKey === keyCode; }
if (foundNamedKey) {
return foundNamedKey === keyCode;
} // check aliases
// check aliases
var foundNamedKey = aliases[nameOrCode.toLowerCase()];
if (foundNamedKey) {
return foundNamedKey === keyCode;
}
if (foundNamedKey) { return foundNamedKey === keyCode; }
} else if (typeof nameOrCode === 'number') {
return nameOrCode === keyCode;
}
return false;

@@ -428,2 +421,3 @@ }

exports = module.exports = keyCode;
/**

@@ -478,5 +472,7 @@ * Get by name

']': 221,
"'": 222 // Helper aliases
"'": 222
};
};
// Helper aliases
var aliases = exports.aliases = {

@@ -503,19 +499,20 @@ 'windows': 91,

'cmd': 91
/*!
* Programatically add the following
*/
// lower case chars
};
for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32; // numbers
/*!
* Programatically add the following
*/
// lower case chars
for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32;
for (var i = 48; i < 58; i++) codes[i - 48] = i; // function keys
// numbers
for (var i = 48; i < 58; i++) codes[i - 48] = i;
// function keys
for (i = 1; i < 13; i++) codes['f'+i] = i + 111;
for (i = 1; i < 13; i++) codes['f' + i] = i + 111; // numpad keys
// numpad keys
for (i = 0; i < 10; i++) codes['numpad '+i] = i + 96;
for (i = 0; i < 10; i++) codes['numpad ' + i] = i + 96;
/**

@@ -527,9 +524,8 @@ * Get by code

var names = exports.names = exports.title = {}; // title for backward compat
var names = exports.names = exports.title = {}; // title for backward compat
// Create reverse mapping
for (i in codes) names[codes[i]] = i;
for (i in codes) names[codes[i]] = i; // Add aliases
// Add aliases
for (var alias in aliases) {

@@ -577,3 +573,2 @@ codes[alias] = aliases[alias];

function isArray(value) {

@@ -596,3 +591,2 @@ return Array.isArray(value);

function isString(value) {

@@ -616,3 +610,2 @@ return typeof value === STRING;

function addEvent(el, type, listener, options) {

@@ -633,2 +626,5 @@ el.addEventListener(type, listener, options);

};
/**
* @memberof KeyController
*/

@@ -644,4 +640,11 @@ function getKey(keyCode) {

}
/**
* @memberof KeyController
*/
function getCombi(e, key) {
if (key === void 0) {
key = getKey(e.keyCode);
}
var keys = [e.shiftKey && "shift", e.ctrlKey && "ctrl", e.altKey && "alt", e.metaKey && "meta"];

@@ -705,2 +708,3 @@ keys.indexOf(key) === -1 && keys.push(key);

_this.metaKey = false;
return _this;
};

@@ -778,2 +782,5 @@

KeyController.getKey = getKey;
KeyController.getCombi = getCombi;
return KeyController;

@@ -780,0 +787,0 @@

/*
Copyright (c) 2019 Daybrush
Copyright (c) Daybrush
name: keycon

@@ -7,5 +7,5 @@ license: MIT

repository: git+https://github.com/daybrush/keycon.git
version: 0.2.2
version: 0.3.0
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).keycon=e()}(this,function(){"use strict";var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function f(t){return void 0===t}var t=function(){var t=function(){function t(){this._eventHandler={},this.options={}}var e=t.prototype;return e.trigger=function(t,e){void 0===e&&(e={});var n=this._eventHandler[t]||[];if(!(0<n.length))return!0;n=n.concat(),e.eventType=t;var r=!1,o=[e],i=0;e.stop=function(){r=!0},e.currentTarget=this;for(var a=arguments.length,f=new Array(2<a?a-2:0),s=2;s<a;s++)f[s-2]=arguments[s];for(1<=f.length&&(o=o.concat(f)),i=0;n[i];i++)n[i].apply(this,o);return!r},e.once=function(o,i){if("object"==typeof o&&f(i)){var t,e=o;for(t in e)this.once(t,e[t]);return this}if("string"==typeof o&&"function"==typeof i){var a=this;this.on(o,function t(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];i.apply(a,n),a.off(o,t)})}return this},e.hasOn=function(t){return!!this._eventHandler[t]},e.on=function(t,e){if("object"==typeof t&&f(e)){var n,r=t;for(n in r)this.on(n,r[n]);return this}if("string"==typeof t&&"function"==typeof e){var o=this._eventHandler[t];f(o)&&(this._eventHandler[t]=[],o=this._eventHandler[t]),o.push(e)}return this},e.off=function(t,e){if(f(t))return this._eventHandler={},this;if(f(e)){if("string"==typeof t)return this._eventHandler[t]=void 0,this;var n,r=t;for(n in r)this.off(n,r[n]);return this}var o,i,a=this._eventHandler[t];if(a)for(o=0;void 0!==(i=a[o]);o++)if(i===e){a=a.splice(o,1);break}return this},t}();return t.VERSION="2.1.2",t}();var e,n=(function(t,e){function n(t){if(t&&"object"==typeof t){var e=t.which||t.keyCode||t.charCode;e&&(t=e)}if("number"==typeof t)return a[t];var n,r=String(t);return(n=o[r.toLowerCase()])?n:(n=i[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){var n=t.which||t.keyCode||t.charCode;if(null==n)return!1;if("string"==typeof e){var r;if(r=o[e.toLowerCase()])return r===n;if(r=i[e.toLowerCase()])return r===n}else if("number"==typeof e)return e===n;return!1}};var o=(e=t.exports=n).code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(r=97;r<123;r++)o[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)o[r-48]=r;for(r=1;r<13;r++)o["f"+r]=r+111;for(r=0;r<10;r++)o["numpad "+r]=r+96;var a=e.names=e.title={};for(r in o)a[o[r]]=r;for(var f in i)o[f]=i[f]}(e={exports:{}},e.exports),e.exports),i=(n.code,n.codes,n.aliases,n.names);n.title;function o(t,e,n,r){t.addEventListener(e,n,r)}var a={"+":"plus","left command":"meta","right command":"meta"},s={shift:1,ctrl:2,alt:3,meta:4};return function(n){function t(t){void 0===t&&(t=window);var e=n.call(this)||this;return e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e.clear=function(){e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1},e.keydownEvent=function(t){e.triggerEvent("keydown",t)},e.keyupEvent=function(t){e.triggerEvent("keyup",t)},o(t,"blur",e.clear),o(t,"keydown",e.keydownEvent),o(t,"keyup",e.keyupEvent),e}!function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(t,n);var e=t.prototype;return e.keydown=function(t,e){return this.addEvent("keydown",t,e)},e.keyup=function(t,e){return this.addEvent("keyup",t,e)},e.addEvent=function(t,e,n){return!function(t){return Array.isArray(t)}(e)?!function(t){return"string"==typeof t}(e)?this.on(t,e):this.on(t+"."+e,n):this.on(t+"."+function(t){var e=t.slice();return e.sort(function(t,e){return(s[t]||5)-(s[e]||5)}),e}(e).join("."),n),this},e.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=function(t){var e=i[t]||"";for(var n in a)e=e.replace(n,a[n]);return e.replace(/\s/g,"")}(e.keyCode),r={key:n,isToggle:"ctrl"===n||"shift"===n||"meta"===n||"alt"===n,inputEvent:e,keyCode:e.keyCode,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey};this.trigger(t,r),this.trigger(t+"."+n,r);var o=function(t,e){var n=[t.shiftKey&&"shift",t.ctrlKey&&"ctrl",t.altKey&&"alt",t.metaKey&&"meta"];return-1===n.indexOf(e)&&n.push(e),n.filter(Boolean)}(e,n);1<o.length&&this.trigger(t+"."+o.join("."),r)},t}(t)});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).keycon=e()}(this,function(){"use strict";var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function f(t){return void 0===t}var t=function(){var t=function(){function t(){this._eventHandler={},this.options={}}var e=t.prototype;return e.trigger=function(t,e){void 0===e&&(e={});var n=this._eventHandler[t]||[];if(!(0<n.length))return!0;n=n.concat(),e.eventType=t;var r=!1,o=[e],i=0;e.stop=function(){r=!0},e.currentTarget=this;for(var a=arguments.length,f=new Array(2<a?a-2:0),s=2;s<a;s++)f[s-2]=arguments[s];for(1<=f.length&&(o=o.concat(f)),i=0;n[i];i++)n[i].apply(this,o);return!r},e.once=function(o,i){if("object"==typeof o&&f(i)){var t,e=o;for(t in e)this.once(t,e[t]);return this}if("string"==typeof o&&"function"==typeof i){var a=this;this.on(o,function t(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];i.apply(a,n),a.off(o,t)})}return this},e.hasOn=function(t){return!!this._eventHandler[t]},e.on=function(t,e){if("object"==typeof t&&f(e)){var n,r=t;for(n in r)this.on(n,r[n]);return this}if("string"==typeof t&&"function"==typeof e){var o=this._eventHandler[t];f(o)&&(this._eventHandler[t]=[],o=this._eventHandler[t]),o.push(e)}return this},e.off=function(t,e){if(f(t))return this._eventHandler={},this;if(f(e)){if("string"==typeof t)return this._eventHandler[t]=void 0,this;var n,r=t;for(n in r)this.off(n,r[n]);return this}var o,i,a=this._eventHandler[t];if(a)for(o=0;void 0!==(i=a[o]);o++)if(i===e){a=a.splice(o,1);break}return this},t}();return t.VERSION="2.1.2",t}();var e,n=(function(t,e){function n(t){if(t&&"object"==typeof t){var e=t.which||t.keyCode||t.charCode;e&&(t=e)}if("number"==typeof t)return a[t];var n,r=String(t);return(n=o[r.toLowerCase()])?n:(n=i[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){var n=t.which||t.keyCode||t.charCode;if(null==n)return!1;if("string"==typeof e){var r;if(r=o[e.toLowerCase()])return r===n;if(r=i[e.toLowerCase()])return r===n}else if("number"==typeof e)return e===n;return!1}};var o=(e=t.exports=n).code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(r=97;r<123;r++)o[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)o[r-48]=r;for(r=1;r<13;r++)o["f"+r]=r+111;for(r=0;r<10;r++)o["numpad "+r]=r+96;var a=e.names=e.title={};for(r in o)a[o[r]]=r;for(var f in i)o[f]=i[f]}(e={exports:{}},e.exports),e.exports),o=(n.code,n.codes,n.aliases,n.names);n.title;function i(t,e,n,r){t.addEventListener(e,n,r)}var a={"+":"plus","left command":"meta","right command":"meta"},s={shift:1,ctrl:2,alt:3,meta:4};function c(t){var e=o[t]||"";for(var n in a)e=e.replace(n,a[n]);return e.replace(/\s/g,"")}function u(t,e){void 0===e&&(e=c(t.keyCode));var n=[t.shiftKey&&"shift",t.ctrlKey&&"ctrl",t.altKey&&"alt",t.metaKey&&"meta"];return-1===n.indexOf(e)&&n.push(e),n.filter(Boolean)}var y=function(n){function t(t){void 0===t&&(t=window);var e=n.call(this)||this;return e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e.clear=function(){return e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e},e.keydownEvent=function(t){e.triggerEvent("keydown",t)},e.keyupEvent=function(t){e.triggerEvent("keyup",t)},i(t,"blur",e.clear),i(t,"keydown",e.keydownEvent),i(t,"keyup",e.keyupEvent),e}!function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(t,n);var e=t.prototype;return e.keydown=function(t,e){return this.addEvent("keydown",t,e)},e.keyup=function(t,e){return this.addEvent("keyup",t,e)},e.addEvent=function(t,e,n){return!function(t){return Array.isArray(t)}(e)?!function(t){return"string"==typeof t}(e)?this.on(t,e):this.on(t+"."+e,n):this.on(t+"."+function(t){var e=t.slice();return e.sort(function(t,e){return(s[t]||5)-(s[e]||5)}),e}(e).join("."),n),this},e.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=c(e.keyCode),r={key:n,isToggle:"ctrl"===n||"shift"===n||"meta"===n||"alt"===n,inputEvent:e,keyCode:e.keyCode,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey};this.trigger(t,r),this.trigger(t+"."+n,r);var o=u(e,n);1<o.length&&this.trigger(t+"."+o.join("."),r)},t}(t);return y.getKey=c,y.getCombi=u,y});
//# sourceMappingURL=keycon.pkgd.min.js.map
{
"name": "keycon",
"version": "0.2.2",
"version": "0.3.0",
"description": "Keyboard Controller",

@@ -40,5 +40,5 @@ "main": "./dist/keycon.js",

"devDependencies": {
"@daybrush/builder": "0.0.4",
"@daybrush/builder": "^0.1.1",
"@daybrush/jsdoc": "^0.3.7",
"@daybrush/release": "^0.1.1",
"@daybrush/release": "^0.2.4",
"daybrush-jsdoc-template": "^1.5.3",

@@ -45,0 +45,0 @@ "print-sizes": "0.0.4",

@@ -20,3 +20,3 @@ # keycon [![npm version](https://badge.fury.io/js/keycon.svg)](https://badge.fury.io/js/keycon)

```js
import KeyController from "keycon";
import KeyController, { getCombi, getKey } from "keycon";

@@ -35,2 +35,7 @@ const keycon = new KeyController();

keycon.keydown(["alt", "space"], e => {
// ["alt", "space"]
console.log(getCombi(e));
// "space"
console.log(getKey(e.keyCode));
console.log(e);

@@ -37,0 +42,0 @@ });

@@ -1,3 +0,6 @@

import keycon from "./KeyController";
import keycon, { getKey, getCombi } from "./KeyController";
(keycon as any).getKey = getKey;
(keycon as any).getCombi = getCombi;
export default keycon;

@@ -16,3 +16,6 @@ import Component from "@egjs/component";

};
function getKey(keyCode: number) {
/**
* @memberof KeyController
*/
export function getKey(keyCode: number): string {
let key = names[keyCode] || "";

@@ -25,3 +28,7 @@

}
function getCombi(e: KeyboardEvent, key: string) {
/**
* @memberof KeyController
*/
export function getCombi(e: KeyboardEvent, key: string = getKey(e.keyCode)): string[] {
const keys = [e.shiftKey && "shift", e.ctrlKey && "ctrl", e.altKey && "alt", e.metaKey && "meta"];

@@ -32,2 +39,3 @@ keys.indexOf(key) === -1 && keys.push(key);

}
function getArrangeCombi(keys: string[]) {

@@ -85,3 +93,3 @@ const arrangeKeys = keys.slice();

}
public clear = () => {
public clear = (): this => {
this.ctrlKey = false;

@@ -91,2 +99,3 @@ this.altKey = false;

this.metaKey = false;
return this;
}

@@ -101,3 +110,3 @@ public keydown(comb: string | string[], callback: (e: KeyControllerEvent) => void): this;

callback?: (e: KeyControllerEvent) => void,
) {
): this {
return this.addEvent("keydown", comb, callback);

@@ -113,3 +122,3 @@ }

callback?: (e: KeyControllerEvent) => void,
) {
): this {
return this.addEvent("keyup", comb, callback);

@@ -116,0 +125,0 @@ }

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc