tty.js icon indicating copy to clipboard operation
tty.js copied to clipboard

French keyboard

Open lwitt opened this issue 12 years ago • 5 comments

French (other foreign keyboards?) doesn't work properly. Mainly Alt-gr keys isn't working : very annoying for "|", "{", "}", etc..

Tested on Chrome, IE, ...

lwitt avatar Jan 29 '13 10:01 lwitt

Same problem here. I cannot type a "@" in the terminal

xblaster avatar Jul 09 '13 06:07 xblaster

Hello, has this been solved in tty.js? I cannot get this to work on my install and this is the only complaint I have ;( not able to write @$ and {][} etc :)

How can we get tty.js updated with the new term.js into tty.js?

(just for the record I tried doing it manually but I could not get it working)

corvy avatar Jan 30 '14 11:01 corvy

same problem here. my current workaround: alt + numpad numbers to send char codes.

fun fact: using arch linux and chrome will work fine. this problem only appears to me using windows 7 and chrome

german keyboard layout here.

GottZ avatar Sep 10 '14 12:09 GottZ

On french keyboards :

Chars "~", "@", "]" "}" work;

but AltGr + 3, 4, 5, 6, 7 and 8 doesn't work. I can't get "#" "{" "[" "|" "`" and "" chars.

This is very anoying, because it's the best websocket terminal ever

VigibotDev avatar Oct 07 '15 20:10 VigibotDev

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

VigibotDev avatar Oct 09 '15 05:10 VigibotDev