Revert to a more conservative approach when mapping key events to scan codes
This commit is contained in:
parent
187318cebb
commit
b6984d348e
6 changed files with 67 additions and 47 deletions
|
|
@ -499,7 +499,7 @@ function Ui(a,b,c,d){if(T[b]){var e=Math.floor(b/1E3)&2;if(b=Oi[b]||0){!e||b&85|
|
|||
function Ti(a,b,c){if(T[b]&&a.ka&&a.ka.ma.Jb){Oi[b]&&a.Ib.length&&0<a.Ib[0].ad&&(a.Ib[0].ad=0);for(var d,e=0;e<a.Ib.length;e++)if(d=a.Ib[e],d.Xd==b){if(!c||0<=d.ad){e=-1;break}0<e&&(0<a.Ib[0].ad&&(a.Ib[0].ad=0),a.Ib.splice(e,1));break}0>e||(e==a.Ib.length&&(d={},d.Xd=b,d.ub=a.ub,Wi(a,b,!0),e++),0<e&&a.Ib.splice(0,0,d),d.Af=!0,d.ad=c?-1:Oi[b]?0:1,Xi(a,d))}}
|
||||
function Vi(a,b,c){if(!T[b]||!(c||a.ka&&a.ka.ma.Jb))return!1;for(var d=!1,e=0;e<a.Ib.length;e++){var f=a.Ib[e];if(f.Xd==b||f.Xd==S[b]){a.Ib.splice(e,1);f.Dl&&clearTimeout(f.Dl);f.Af&&!c&&Yi(a,f.Xd,!1);Wi(a,b,!1);d=!0;break}}!a.Ib.length&&a.Yh&&(Ui(a,1020),a.Yh=!1);return d}
|
||||
function Xi(a,b){if(a.ka&&a.ka.ma.Jb){if(Yi(a,b.Xd,b.Af),b.ad){var c;if(0>b.ad){if(!b.Af){Vi(a,b.Xd);return}b.Af=!1;c=a.nn}else c=1==b.ad++?a.on:a.pn;b.Dl=setTimeout(function(a){return function(){Xi(a,b)}}(a),c)}}else Vi(a,b.Xd,!0)}function Zi(a,b,c){var d=b;if(65<=b&&90>=b)!(a.ub&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.ub&515)==c&&(d=b-32);else if(!!(a.ub&3)==c){if(a=S[b])d=a}else if(a=Ni[b])d=a;return d}k.ih=function(a){this.Lg=a;a||(this.ub&=-256)};
|
||||
function Si(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Zi(a,g,!0);a.Tj&&h==P["`"]&&(g=h=27);if(T[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Ui(a,h,!1,c)){if(20==g||144==g||145==g)a.dm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m<a.Ib.length;m++){var n=a.Ib[m];n.Af=!1;0<n.ad&&(n.ad=0)}}else 8==g&&8==(a.ub&40)&&(h=4008),d=!1;else T[h]&&a.ub&60&&(d=!1),f=!!(a.ub&192);d||b.preventDefault();f||a.Wj&&d||(c?Ti(a,h,e):Vi(a,h)||(b=Zi(a,g,!1),b!=h&&Vi(a,b)));return d}
|
||||
function Si(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Zi(a,g,!0);a.Tj&&h==P["`"]&&(g=h=27);if(T[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Ui(a,h,!1,c)){if(20==g||144==g||145==g)a.dm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m<a.Ib.length;m++){var n=a.Ib[m];n.Af=!1;0<n.ad&&(n.ad=0)}}else 8==g&&8==(a.ub&40)&&(h=4008),d=!1;else T[h]&&a.ub&60?d=!1:f=!0,a.ub&192&&(f=!0);d||b.preventDefault();f||a.Wj&&d||(c?Ti(a,h,e):Vi(a,h)||(b=Zi(a,g,!1),b!=h&&Vi(a,b)));return d}
|
||||
function Yi(a,b,c){Ui(a,b,!0,c);var d=T[b]||T[b+1E3];if(void 0!==d){14==d&&40==(a.ub&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.ub&3||a.ub&512&&b||(g=h):29==h?a.ub&12||(g=h):56==h?a.ub&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Nb&&(20>d.Nb.length?(d.Nb.push(f),1==d.Nb.length&&d.la&&Fi(d.la,f)):(20==d.Nb.length&&d.Nb.push(255),d.hc("scan code buffer overflow")))}}
|
||||
za(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=x(c),d=new Mi(d);Na(d,c)}});
|
||||
function U(a,b,c,d){u.call(this,"Video",a,U);this.Ia=a.model;this.Nc=0;"ega"==this.Ia&&(this.yl=a.switches,this.Nc=a.memory||0);this.$c=a.mode;if(void 0===this.$c||void 0===V[this.$c])this.$c=$i;this.$g=a.charCols;this.qi=a.charRows;if(void 0===this.$g||void 0===this.qi)this.$g=V[this.$c][0],this.qi=V[this.$c][1];this.kd=a.screenWidth;this.Gd=a.screenHeight;this.em=a.scale;this.bm=12<=Math.round(this.kd/this.$g);this.gm=a.touchScreen;this.tf=b;this.Oc=c;this.Ga=(this.Eo=d)||b||null;this.Md=null;this.$l=
|
||||
|
|
|
|||
Loading…
Reference in a new issue