diff --git a/configure.ac b/configure.ac index c4a4d55..2054e1f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ AC_PREREQ(2.57) dnl This is the one location where the authoritative version number is stored -AC_INIT(shellinabox, 2.10, markus@shellinabox.com) -VCS_REVISION=239 +AC_INIT(shellinabox, 2.15, markus@shellinabox.com) +VCS_REVISION=240 AC_SUBST(VCS_REVISION) AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}", [Most recent revision number in the version control system]) diff --git a/shellinabox/vt100.jspp b/shellinabox/vt100.jspp index e514692..6cd98ca 100755 --- a/shellinabox/vt100.jspp +++ b/shellinabox/vt100.jspp @@ -2703,6 +2703,7 @@ VT100.prototype.handleKey = function(event) { '\u001BOB' : '\u001B[B'; break; case 45: /* Insert */ ch = '\u001B[2~'; break; case 46: /* Delete */ ch = '\u001B[3~'; break; + case 60: /* > for FF15 */ ch = this.applyModifiers(60, event); break; case 91: /* Left Window */ return; case 92: /* Right Window */ return; case 93: /* Select */ return; @@ -2736,6 +2737,7 @@ VT100.prototype.handleKey = function(event) { case 144: /* Num Lock */ return; case 145: /* Scroll Lock */ return; case 163: /* # for FF15 */ ch = this.applyModifiers(35, event); break; + case 171: /* + for FF15 */ ch = this.applyModifiers(43, event); break; case 173: /* - for FF15 */ ch = this.applyModifiers(45, event); break; case 186: /* ; */ ch = this.applyModifiers(59, event); break; case 187: /* = */ ch = this.applyModifiers(61, event); break; @@ -2872,6 +2874,9 @@ VT100.prototype.fixEvent = function(event) { case 57: /* 9 -> ( */ u = 57; s = 40; break; case 59: /* ; -> : */ u = 59; s = 58; break; + + case 60: /* < -> > FF15 */ u = 60; s = 62; break; + case 61: /* = -> + */ u = 61; s = 43; break; case 91: /* [ -> { */ u = 91; s = 123; break; case 92: /* \ -> | */ u = 92; s = 124; break; @@ -2882,7 +2887,8 @@ VT100.prototype.fixEvent = function(event) { case 111: /* / -> ? */ u = 47; s = 63; break; case 163: /* # -> ~ FF15 */ u = 96; s = 126; break; - case 173: /* - -> _ FF15 */ u = 45; s = 95; break; + case 171: /* + -> * FF15 */ u = 43; s = 42; break; + case 173: /* - -> _ FF15 */ u = 45; s = 95; break; case 186: /* ; -> : */ u = 59; s = 58; break; case 187: /* = -> + */ u = 61; s = 43; break; @@ -4030,7 +4036,7 @@ VT100.prototype.doControl = function(ch) { /*H*/ case 0x48: /*f*/ case 0x66: this.gotoXaY(this.par[1] - 1, this.par[0] - 1); break; /*I*/ case 0x49: this.ht(this.par[0] ? this.par[0] : 1); break; -/*@*/ case 0x40: this.csiAt(this.par[0]); break; +/*at*/case 0x40: this.csiAt(this.par[0]); break; /*i*/ case 0x69: this.csii(this.par[0]); break; /*J*/ case 0x4A: this.csiJ(this.par[0]); break; /*K*/ case 0x4B: this.csiK(this.par[0]); break; @@ -4094,7 +4100,7 @@ VT100.prototype.doControl = function(ch) { case ESpercent: this.isEsc = ESnormal; switch (ch) { -/*@*/ case 0x40: this.utfEnabled = false; break; +/*at*/case 0x40: this.utfEnabled = false; break; /*G*/ case 0x47: /*8*/ case 0x38: this.utfEnabled = true; break; default: break;