second level chooser.
#define STDC_HEADERS 1
/* Most recent revision number in the version control system */
-#define VCS_REVISION "132"
+#define VCS_REVISION "133"
/* Version number of package */
#define VERSION "2.8"
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-VCS_REVISION=132
+VCS_REVISION=133
cat >>confdefs.h <<_ACEOF
dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.8, markus@shellinabox.com)
-VCS_REVISION=132
+VCS_REVISION=133
AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system])
};
VT100.prototype.about = function() {
- alert("VT100 Terminal Emulator " + "2.8 (revision 132)" +
+ alert("VT100 Terminal Emulator " + "2.8 (revision 133)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};
};
VT100.prototype.fixEvent = function(event) {
+ // Some browsers report AltGR as a combination of ALT and CTRL. As AltGr
+ // is used as a second-level selector, clear the modifier bits before
+ // handling the event.
+ if (event.ctrlKey && event.altKey) {
+ var fake = [ ];
+ fake.charCode = event.charCode;
+ fake.keyCode = event.keyCode;
+ fake.ctrlKey = false;
+ fake.shiftKey = event.shiftKey;
+ fake.altKey = false;
+ fake.metaKey = event.metaKey;
+ return fake;
+ }
+
// Some browsers fail to translate keys, if both shift and alt/meta is
// pressed at the same time. We try to translate those cases, but that
// only works for US keyboard layouts.
// In fact, we see them, but we cannot stop IE from seeing them, too.
if ((event.charCode || event.keyCode) &&
((alphNumKey && (event.ctrlKey || event.altKey || event.metaKey) &&
- !event.shiftKey) ||
+ !event.shiftKey &&
+ // Some browsers signal AltGR as both CTRL and ALT. Do not try to
+ // interpret this sequence ourselves, as some keyboard layouts use
+ // it for second-level layouts.
+ !(event.ctrlKey && event.altKey)) ||
this.catchModifiersEarly && normalKey && !alphNumKey &&
(event.ctrlKey || event.altKey || event.metaKey) ||
!normalKey)) {
};
ShellInABox.prototype.about = function() {
- alert("Shell In A Box version " + "2.8 (revision 132)" +
+ alert("Shell In A Box version " + "2.8 (revision 133)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
};
VT100.prototype.about = function() {
- alert("VT100 Terminal Emulator " + "2.8 (revision 132)" +
+ alert("VT100 Terminal Emulator " + "2.8 (revision 133)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};
};
VT100.prototype.fixEvent = function(event) {
+ // Some browsers report AltGR as a combination of ALT and CTRL. As AltGr
+ // is used as a second-level selector, clear the modifier bits before
+ // handling the event.
+ if (event.ctrlKey && event.altKey) {
+ var fake = [ ];
+ fake.charCode = event.charCode;
+ fake.keyCode = event.keyCode;
+ fake.ctrlKey = false;
+ fake.shiftKey = event.shiftKey;
+ fake.altKey = false;
+ fake.metaKey = event.metaKey;
+ return fake;
+ }
+
// Some browsers fail to translate keys, if both shift and alt/meta is
// pressed at the same time. We try to translate those cases, but that
// only works for US keyboard layouts.
// In fact, we see them, but we cannot stop IE from seeing them, too.
if ((event.charCode || event.keyCode) &&
((alphNumKey && (event.ctrlKey || event.altKey || event.metaKey) &&
- !event.shiftKey) ||
+ !event.shiftKey &&
+ // Some browsers signal AltGR as both CTRL and ALT. Do not try to
+ // interpret this sequence ourselves, as some keyboard layouts use
+ // it for second-level layouts.
+ !(event.ctrlKey && event.altKey)) ||
this.catchModifiersEarly && normalKey && !alphNumKey &&
(event.ctrlKey || event.altKey || event.metaKey) ||
!normalKey)) {
};
VT100.prototype.fixEvent = function(event) {
+ // Some browsers report AltGR as a combination of ALT and CTRL. As AltGr
+ // is used as a second-level selector, clear the modifier bits before
+ // handling the event.
+ if (event.ctrlKey && event.altKey) {
+ var fake = [ ];
+ fake.charCode = event.charCode;
+ fake.keyCode = event.keyCode;
+ fake.ctrlKey = false;
+ fake.shiftKey = event.shiftKey;
+ fake.altKey = false;
+ fake.metaKey = event.metaKey;
+ return fake;
+ }
+
// Some browsers fail to translate keys, if both shift and alt/meta is
// pressed at the same time. We try to translate those cases, but that
// only works for US keyboard layouts.
// In fact, we see them, but we cannot stop IE from seeing them, too.
if ((event.charCode || event.keyCode) &&
((alphNumKey && (event.ctrlKey || event.altKey || event.metaKey) &&
- !event.shiftKey) ||
+ !event.shiftKey &&
+ // Some browsers signal AltGR as both CTRL and ALT. Do not try to
+ // interpret this sequence ourselves, as some keyboard layouts use
+ // it for second-level layouts.
+ !(event.ctrlKey && event.altKey)) ||
this.catchModifiersEarly && normalKey && !alphNumKey &&
(event.ctrlKey || event.altKey || event.metaKey) ||
!normalKey)) {