Minimum working patch to add AltGr + "#", "{", "[", "|", "`" and "\" tested on French keyboard
On French keyboard, I can't write the backslash, it back delete instead :
AltGr combined with [3] to [8] keys do not work -> These is no "#", "{", "[", "|", "`" and "", this is anoying:(
But : AltGt + 1 "~" AltGt + 9 "^" AltGt + 0 "@" AltGt + ) "]" AltGt + = "}"
Are OK
I found the bug :D I added "if (ev.altKey && ev.ctrlKey) {" before "if (ev.ctrlKey) {" and I replaced with "} else if (ev.ctrlKey) {"
To work this part of code need "ev.ctrlKey" without "ev.altKey" or reciprocally
There is another equivalent code : "ev.ctrlKey and not ev.altKey" / "ev.altKey and not ev.ctrlKey" for the two "if".
Diff with current master :
(root|/var/www/js) diff term.js term.js.master
2761,2763c2761
< if (ev.altKey && ev.ctrlKey) {
<
< } else if (ev.ctrlKey) {
---
> if (ev.ctrlKey) {
Working code :
// F11
case 122:
key = '\x1b[23~';
break;
// F12
case 123:
key = '\x1b[24~';
break;
default:
// a-z and space
if (ev.altKey && ev.ctrlKey) { // Added
// Empty
} else if (ev.ctrlKey) {
if (ev.keyCode >= 65 && ev.keyCode <= 90) {
// Ctrl-A
if (this.screenKeys) {
if (!this.prefixMode && !this.selectMode && ev.keyCode === 65) {
this.enterPrefix();
return cancel(ev);
}
}
// Ctrl-V
if (this.prefixMode && ev.keyCode === 86) {
this.leavePrefix();
return;
}
// Ctrl-C
Ok on Firefox NOK on Internet Explorer 11 :(
The Pull-Request also fixes non-english issues. https://github.com/chjj/term.js/pull/97