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

@ -478,7 +478,7 @@ function oo(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=vo[b]||0){!e||b&wo|
function jo(a,b,c){if((V[b]||V[b+=1E3])&&a.U&&a.U.ca.Ib){vo[b]&&a.A.length&&0<a.A[0].Zc&&(a.A[0].Zc=0);for(var d,e=0;e<a.A.length;e++)if(d=a.A[e],d.Td==b){if(!c||0<=d.Zc){e=-1;break}0<e&&(0<a.A[0].Zc&&(a.A[0].Zc=0),a.A.splice(e,1));break}0>e||(e==a.A.length&&(d={},d.Td=b,d.Sb=a.Sb,so(a,b,!0),e++),0<e&&a.A.splice(0,0,d),d.Je=!0,d.Zc=c?-1:vo[b]?0:1,Ao(a,d))}}
function qo(a,b,c){if(!V[b]||!(c||a.U&&a.U.ca.Ib))return!1;for(var d=!1,e=0;e<a.A.length;e++){var f=a.A[e];if(f.Td==b||f.Td==p[b]){a.A.splice(e,1);f.Vj&&clearTimeout(f.Vj);f.Je&&!c&&Bo(a,f.Td,!1);so(a,b,!1);d=!0;break}}!a.A.length&&a.M&&(oo(a,ko),a.M=!1);return d}function Ao(a,b){if(!a.U||!a.U.ca.Ib)qo(a,b.Td,!0);else if(Bo(a,b.Td,b.Je)&&b.Zc){var c;if(0>b.Zc){if(!b.Je){qo(a,b.Td);return}b.Je=!1;c=a.Z}else c=1==b.Zc++?500:100;b.Vj=setTimeout(function(a){return function(){Ao(a,b)}}(a),c)}}
function Co(a,b,c){var d=b;if(b>=n.Cd&&b<=n.tf)!(a.Sb&(Do|Eo|Fo))==c&&(d=b+(n.Dd-n.Cd));else if(b>=n.Dd&&b<=n.z)!!(a.Sb&(Do|Eo|Fo))==c&&(d=b-(n.Dd-n.Cd));else if(!!(a.Sb&(Do|Eo))==c){if(a=p[b])d=a}else if(a=ma[b])d=a;return d}k.Sf=function(a){a||(this.Sb&=~yo)};
function ho(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Co(a,g,!0);a.og&&h==n["`"]&&(g=h=27);if(V[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),oo(a,h,!1,c)){if(20==g||144==g||145==g)a.O||(c=e=!0);if(!(c||91!=g&&93!=g))for(var l=0;l<a.A.length;l++){var m=a.A[l];m.Je=!1;0<m.Zc&&(m.Zc=0)}}else 8==g&&(a.Sb&(Go|Ho))==Go&&(h=Io),d=!1;else if(V[h]&&a.Sb&(Jo|Ko)&&(d=!1),d&&c||a.Sb&Lo)f=!0;d||b.preventDefault();f||a.W&&d||(c?jo(a,h,e):qo(a,h)||(b=Co(a,g,!1),b!=h&&qo(a,b)));return d}
function ho(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode;a.B="";var h=Co(a,g,!0);a.og&&h==n["`"]&&(g=h=27);if(V[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),oo(a,h,!1,c)){if(20==g||144==g||145==g)a.O||(c=e=!0);if(!(c||91!=g&&93!=g))for(var l=0;l<a.A.length;l++){var m=a.A[l];m.Je=!1;0<m.Zc&&(m.Zc=0)}}else 8==g&&(a.Sb&(Go|Ho))==Go&&(h=Io),d=!1;else if(V[h]&&a.Sb&(Jo|Ko)&&(d=!1),d&&c||a.Sb&Lo)f=!0;d||b.preventDefault();f||a.W&&d||(c?jo(a,h,e):qo(a,h)||(b=Co(a,g,!1),b!=h&&qo(a,b)));return d}
function Bo(a,b,c){var d=!1;oo(a,b,!0,c);var e=V[b]||V[b+1E3];if(void 0!==e){e==Mo&&(a.Sb&(Go|Ho))==(Go|Ho)&&(e=No);var d=[],f=e&255;if(83<f&&83==a.X)return!1;d.push(f|(c?0:Oo));for(b=b>=n.Cd&&b<=n.tf||b>=n.Dd&&b<=n.z;e>>>=8;){var g=0,h=e&255;f==Po||f==Qo?d.push(f|(c?0:Oo)):(h==W?a.C&(Do|Eo)||a.C&Fo&&b||(g=h):h==Ro?a.C&(Go|So)||(g=h):h==To?a.C&(Ho|Uo)||(g=h):d.push(f|(c?0:Oo)),g&&(c?d.unshift(g):d.push(g|Oo)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.Jb&&(e.Jb.length<Vo?(e.Jb.push(f),1==e.Jb.length&&e.V&&
Dn(e.V,f)):e.Jb.length==Vo&&e.Jb.push(Wo));d=!0}return d}var to=["US83","US84","US101"],ko=1020,lo=1144,mo=1145,Xo=n.$j+4E3,Io=4008,Mo=14,Ro=29,W=42,To=56,No=83,Oo=128,Po=224,Qo=225,Eo=1,Do=2,So=4,Go=8,Jo=12,Uo=16,Ho=32,Ko=48,io=128,Lo=192,wo=85,yo=255,Fo=512,xo=3584,vo={};vo[3016]=Eo;vo[1016]=Do;vo[1017]=Go;vo[1018]=Ho;vo[1091]=io;vo[1093]=64;vo[1224]=io;vo[ko]=Fo;vo[lo]=1024;vo[mo]=2048;
var no={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:Xo,CTRL_BREAK:Io,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},po={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.Rh,e:n.E,r:n.Mh,t:n.Oh,y:n.Th,u:n.Ph,i:n.Eh,o:n.Kh,p:n.Lh,"[":n["["],"]":n["]"],enter:13,ctrl:1017,a:n.Cd,s:n.Nh,