Stop keyboard injection as soon as any real keyboard activity is detected

This commit is contained in:
Jeff Parsons 2017-06-15 16:48:12 -07:00 committed by Jeff Parsons
commit 8f8082d170
5 changed files with 14 additions and 9 deletions

View file

@ -508,7 +508,7 @@ function zq(a,b,c,d){if(O[b]){var e=Math.floor(b/1E3)&2;if(b=Hq[b]||0){!e||b&Iq|
function uq(a,b,c){if((O[b]||O[b+=1E3])&&a.H&&a.H.ea.vb){Hq[b]&&a.C.length&&0<a.C[0].vd&&(a.C[0].vd=0);for(var d,e=0;e<a.C.length;e++)if(d=a.C[e],d.ve==b){if(!c||0<=d.vd){e=-1;break}0<e&&(0<a.C[0].vd&&(a.C[0].vd=0),a.C.splice(e,1));break}0>e||(e==a.C.length&&(d={},d.ve=b,d.jc=a.jc,Dq(a,b,!0),e++),0<e&&a.C.splice(0,0,d),d.rf=!0,d.vd=c?-1:Hq[b]?0:1,Mq(a,d))}}
function Bq(a,b,c){if(!O[b]||!(c||a.H&&a.H.ea.vb))return!1;for(var d=!1,e=0;e<a.C.length;e++){var f=a.C[e];if(f.ve==b||f.ve==na[b]){a.C.splice(e,1);f.dl&&clearTimeout(f.dl);f.rf&&!c&&Nq(a,f.ve,!1);Dq(a,b,!1);d=!0;break}}!a.C.length&&a.Y&&(zq(a,vq),a.Y=!1);return d}function Mq(a,b){if(!a.H||!a.H.ea.vb)Bq(a,b.ve,!0);else if(Nq(a,b.ve,b.rf)&&b.vd){var c;if(0>b.vd){if(!b.rf){Bq(a,b.ve);return}b.rf=!1;c=a.da}else c=1==b.vd++?500:100;b.dl=setTimeout(function(a){return function(){Mq(a,b)}}(a),c)}}
function Oq(a,b,c){var d=b;if(b>=n.de&&b<=n.fg)!(a.jc&(Pq|Qq|Rq))==c&&(d=b+(n.ee-n.de));else if(b>=n.ee&&b<=n.z)!!(a.jc&(Pq|Qq|Rq))==c&&(d=b-(n.ee-n.de));else if(!!(a.jc&(Pq|Qq))==c){if(a=na[b])d=a}else if(a=ma[b])d=a;return d}l.Cg=function(a){a||(this.jc&=~Kq)};
function sq(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Oq(a,g,!0);a.eh&&h==n["`"]&&(g=h=27);if(O[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),zq(a,h,!1,c)){if(20==g||144==g||145==g)a.Z||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.C.length;k++){var m=a.C[k];m.rf=!1;0<m.vd&&(m.vd=0)}}else 8==g&&(a.jc&(Sq|Tq))==Sq&&(h=Uq),d=!1;else if(O[h]&&a.jc&(Vq|Wq)&&(d=!1),d&&c||a.jc&Xq)f=!0;d||b.preventDefault();f||a.O&&d||(c?uq(a,h,e):Bq(a,h)||(b=Oq(a,g,!1),b!=h&&Bq(a,b)));return d}
function sq(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode;a.B="";var h=Oq(a,g,!0);a.eh&&h==n["`"]&&(g=h=27);if(O[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),zq(a,h,!1,c)){if(20==g||144==g||145==g)a.Z||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.C.length;k++){var m=a.C[k];m.rf=!1;0<m.vd&&(m.vd=0)}}else 8==g&&(a.jc&(Sq|Tq))==Sq&&(h=Uq),d=!1;else if(O[h]&&a.jc&(Vq|Wq)&&(d=!1),d&&c||a.jc&Xq)f=!0;d||b.preventDefault();f||a.O&&d||(c?uq(a,h,e):Bq(a,h)||(b=Oq(a,g,!1),b!=h&&Bq(a,b)));return d}
function Nq(a,b,c){var d=!1;zq(a,b,!0,c);var e=O[b]||O[b+1E3];if(void 0!==e){e==Yq&&(a.jc&(Sq|Tq))==(Sq|Tq)&&(e=Zq);var d=[],f=e&255;if(83<f&&83==a.aa)return!1;d.push(f|(c?0:$q));for(b=b>=n.de&&b<=n.fg||b>=n.ee&&b<=n.z;e>>>=8;){var g=0,h=e&255;f==ar||f==br?d.push(f|(c?0:$q)):(h==P?a.D&(Pq|Qq)||a.D&Rq&&b||(g=h):h==cr?a.D&(Sq|dr)||(g=h):h==er?a.D&(Tq|fr)||(g=h):d.push(f|(c?0:$q)),g&&(c?d.unshift(g):d.push(g|$q)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.A&&(e.A.length<gr?(t(e)&&Lb(e,"scan code "+r(f)+" buffered"),
e.A.push(f),1==e.A.length&&e.W&&Pp(e.W,f)):(e.A.length==gr&&e.A.push(hr),Lb(e,"scan code buffer overflow")));d=!0}return d}var Eq=["US83","US84","US101"],vq=1020,wq=1144,xq=1145,ir=n.il+4E3,Uq=4008,Yq=14,cr=29,P=42,er=56,Zq=83,$q=128,ar=224,br=225,Qq=1,Pq=2,dr=4,Sq=8,Vq=12,fr=16,Tq=32,Wq=48,tq=128,Xq=192,Iq=85,Kq=255,Rq=512,Jq=3584,Hq={};Hq[3016]=Qq;Hq[1016]=Pq;Hq[1017]=Sq;Hq[1018]=Tq;Hq[1091]=tq;Hq[1093]=64;Hq[1224]=tq;Hq[vq]=Rq;Hq[wq]=1024;Hq[xq]=2048;
var yq={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:ir,CTRL_BREAK:Uq,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},Aq={esc:1027,1:n["1"],2:n["2"],3:n["3"],4:n["4"],5:n["5"],6:n["6"],7:n["7"],8:n["8"],9:n["9"],0:n["0"],"-":n["-"],"=":n["="],bs:1008,tab:1009,q:n.Q,w:n.Ni,e:n.E,r:n.Ii,t:n.Ki,y:n.Pi,u:n.Li,i:n.Ai,o:n.Gi,p:n.Hi,"[":n["["],"]":n["]"],enter:13,ctrl:1017,a:n.de,s:n.Ji,