Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save chelovekula/ffdffd4faf1bbc0be77550dfa4a10e82 to your computer and use it in GitHub Desktop.
Save chelovekula/ffdffd4faf1bbc0be77550dfa4a10e82 to your computer and use it in GitHub Desktop.
__d("wrapFunction",[],(function(a,b,c,d,e,f){e.exports=a;var g={};function a(a,b,c){var d=b in g?g[b](a,c):a;return function(){for(var a=arguments.length,b=new Array(a),c=0;c<a;c++)b[c]=arguments[c];return d.apply(this,b)}}a.setWrapper=function(a,b){g[b]=a}}),null);
__d("VirtualCursorStatus",["Event","UserAgent","emptyFunction","setImmediate"],(function(a,b,c,d,e,f){var g=null,h=null;function i(){h||(h=b("Event").listen(window,"blur",function(){g=null,j()}))}function j(){h&&(h.remove(),h=null)}function a(a){g=a.keyCode,i()}function c(){g=null,j()}if(typeof window!=="undefined"&&window.document&&window.document.createElement){d=document.documentElement;if(d)if(d.addEventListener)d.addEventListener("keydown",a,!0),d.addEventListener("keyup",c,!0);else if(d.attachEvent){f=d.attachEvent;f("onkeydown",a);f("onkeyup",c)}}var k={isKeyDown:function(){return!!g},getKeyDownCode:function(){return g}},l=!1,m=!1,n=null,o=!1;function p(a){var c=new Set(),d=k.isKeyDown(),e=a.clientX,f=a.clientY,g=a.isPrimary,h=a.isTrusted,i=a.offsetX,j=a.offsetY,n=a.pointerType,o=a.mozInputSource,p=a.WEBKIT_FORCE_AT_MOUSE_DOWN,q=a.webkitForce;a=a.target;var r=a.clientWidth;a=a.clientHeight;e===0&&f===0&&i>=0&&j>=0&&m&&h&&o==null&&c.add("Chrome");l&&m&&!d&&q!=null&&q<p&&i===0&&j===0&&o==null&&c.add("Safari-edge");e===0&&f===0&&i<0&&j<0&&m&&o==null&&c.add("Safari-old");!l&&!m&&d&&g===!1&&h&&n===""&&e===0&&f===0&&i===0&&j===0&&o==null;!l&&!m&&!d&&h&&b("UserAgent").isBrowser("IE >= 10")&&o==null&&(e<0&&f<0?c.add("IE"):(i<0||i>r)&&(j<0||j>a)&&c.add("MSIE"));o===0&&h&&c.add("Firefox");return c}function q(){l=!0,b("setImmediate")(function(){l=!1})}function r(){m=!0,b("setImmediate")(function(){m=!1})}function s(a,c){n===null&&(n=p(a));o=n.size>0;a=a.target.getAttribute("data-accessibilityid")==="virtual_cursor_trigger";c(o,n,a);b("setImmediate")(function(){o=!1,n=null})}d={isVirtualCursorTriggered:function(){return o},add:function(a,c){c===void 0&&(c=b("emptyFunction"));var d=function(a){return s(a,c)};a.addEventListener("click",d);var e=b("Event").listen(a,"mousedown",q),f=b("Event").listen(a,"mouseup",r);return{remove:function(){a.removeEventListener("click",d),e.remove(),f.remove()}}}};e.exports=d}),null);
__d("KeyStatus",["Event","ExecutionEnvironment"],(function(a,b,c,d,e,f){f.isKeyDown=d;f.getKeyDownCode=e;var g=null,h=null;function i(){h||(h=b("Event").listen(window,"blur",function(){g=null,j()}))}function j(){h&&(h.remove(),h=null)}function a(a){g=b("Event").getKeyCode(a),i()}function c(){g=null,j()}if(b("ExecutionEnvironment").canUseDOM){d=document.documentElement;if(d)if(d.addEventListener)d.addEventListener("keydown",a,!0),d.addEventListener("keyup",c,!0);else if(d.attachEvent){f=d.attachEvent;f("onkeydown",a);f("onkeyup",c)}}function d(){return!!g}function e(){return g}}),null);
__d("wrapFunction",[],(function(a,b,c,d,e,f){e.exports=a;var g={};function a(a,b,c){var d=b in g?g[b](a,c):a;return function(){for(var a=arguments.length,b=new Array(a),c=0;c<a;c++)b[c]=arguments[c];return d.apply(this,b)}}a.setWrapper=function(a,b){g[b]=a}}),null);
__d("KeyboardActivityLogger",["Event","KeyboardActivityTypedLogger","Keys","isElementInteractive"],(function(a,b,c,d,e,f){f.init=a;f._listenForKey=c;f._checkKeyActivity=d;f._log=e;a=["tab","right","left","up","down","enter"];var g=a.reduce(function(a,b){a[b]={count:0,startTS:0};return a},{}),h=20;function a(){document.addEventListener("keydown",this._listenForKey.bind(this))}function c(a){var c=a.getTarget();if(b("isElementInteractive")(c))return;switch(b("Event").getKeyCode(a)){case b("Keys").TAB:this._checkKeyActivity("tab");break;case b("Keys").RIGHT:this._checkKeyActivity("right");break;case b("Keys").LEFT:this._checkKeyActivity("left");break;case b("Keys").UP:this._checkKeyActivity("up");break;case b("Keys").DOWN:this._checkKeyActivity("down");break;case b("Keys").RETURN:this._checkKeyActivity("enter");break}}function d(a){var b=g[a];b.count++;b.startTS===0&&(b.startTS=Date.now());b.count===h&&(this._log(a),b.count=0,b.startTS=0)}function e(a){var c=g[a];c=Date.now()-c.startTS;new(b("KeyboardActivityTypedLogger"))().setKey(a).setDuration(c).log()}}),null);
__d("KeyEventController",["Bootloader","DOMQuery","Event","Run","emptyFunction","getElementText","isContentEditable","isElementInteractive","isEmpty"],(function(a,b,c,d,e,f){var g,h=null,i={BACKSPACE:[8],TAB:[9],RETURN:[13],ALT:[18],ESCAPE:[27],LEFT:[37,63234],UP:[38,63232],RIGHT:[39,63235],DOWN:[40,63233],NUMPAD_ADD:[43],NUMPAD_SUBSTRACT:[45],DELETE:[46],COMMA:[188],PERIOD:[190],SLASH:[191],"`":[192],"[":[219],"]":[221],PAGE_UP:[33],PAGE_DOWN:[34],END:[35],HOME:[36],SPACE:[32],KP_DOT:[46,110],"-":[189],"=":[187],FORWARD_SLASH:[191]},j=(a={},a[8]=1,a[9]=1,a[13]=1,a[27]=1,a[32]=1,a[37]=1,a[63234]=1,a[38]=1,a[63232]=1,a[39]=1,a[63235]=1,a[40]=1,a[63233]=1,a[46]=1,a);c=function(){function a(){var a=this;this.handlers={};["keyup","keydown","keypress"].forEach(function(b){return document.addEventListener(b,a.onkeyevent.bind(a,"on"+b))})}var c=a.prototype;c.mapKey=function(a){if(/^[0-9]$/.test(a+"")){typeof a!=="number"&&(a=a.charCodeAt(0)-48);return[48+a,96+a]}a+="";var b=i[a.toUpperCase()];return b?b:[a.toUpperCase().charCodeAt(0)]};c.onkeyevent=function(a,c){c=b("Event").$E(c);var d=this.handlers[c.keyCode]||this.handlers[c.which];if(d)for(var e=0;e<d.length;e++){var f=d[e].callback,g=d[e].filter;try{if(!g||g(c,a)){g=function(){var d=f(c,a),e=c.which||c.keyCode;b("Bootloader").loadModules(["KeyEventTypedLogger"],function(a){new a().setAction("key_shortcut").setKey(c.key||"").setKeyChar(String.fromCharCode(e)).setKeyCode(e).addToExtraData("is_trusted",c.isTrusted).log()},"KeyEventController");if(d===!1)return{v:b("Event").kill(c)}}();if(typeof g==="object")return g.v}}catch(a){}}return!0};c.resetHandlers=function(){for(var a in this.handlers)if(Object.prototype.hasOwnProperty.call(this.handlers,a)){var b=this.handlers[a].filter(function(a){return a.preserve()});b.length?this.handlers[a]=b:delete this.handlers[a]}};a.getInstance=function(){return h||(h=new a())};a.defaultFilter=function(c,d){c=b("Event").$E(c);return a.filterEventTypes(c,d)&&a.filterEventTargets(c,d)&&a.filterEventModifiers(c,d)};a.filterEventTypes=function(a,b){return b==="onkeydown"?!0:!1};a.filterEventTargets=function(a,c){c=a.getTarget();return!b("isElementInteractive")(c)||a.keyCode in j&&(b("DOMQuery").isNodeOfType(c,["input","textarea"])&&c.value.length===0||b("isContentEditable")(c)&&b("getElementText")(c).length===0)};a.filterEventModifiers=function(a,b){return a.ctrlKey||a.altKey||a.metaKey||a.repeat?!1:!0};a.registerKeyAcrossTransitions=function(c,d,e,f){e===void 0&&(e=a.defaultFilter);f===void 0&&(f=!1);return a.registerKey(c,d,e,f,b("emptyFunction").thatReturnsTrue)};a.registerKey=function(c,d,e,f,h){e===void 0&&(e=a.defaultFilter);f===void 0&&(f=!1);h===void 0&&(h=b("emptyFunction").thatReturnsFalse);var i=a.getInstance(),j=c==null?[]:i.mapKey(c);(g||(g=b("isEmpty")))(i.handlers)&&b("Run").onLeave(i.resetHandlers.bind(i));var k={};for(var l=0;l<j.length;l++){c=""+j[l];(!i.handlers[c]||f)&&(i.handlers[c]=[]);var m={callback:d,filter:e,preserve:h};k[c]=m;i.handlers[c].push(m)}return{remove:function(){for(var a in k){if(i.handlers[a]&&i.handlers[a].length){var b=i.handlers[a].indexOf(k[a]);b>=0&&i.handlers[a].splice(b,1)}delete k[a]}}}};return a}();e.exports=c}),null);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment