quitando basura del index
[VSoRC/.git] / node_modules / xterm / src / common / input / Keyboard.ts
diff --git a/node_modules/xterm/src/common/input/Keyboard.ts b/node_modules/xterm/src/common/input/Keyboard.ts
deleted file mode 100644 (file)
index 1bf378c..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-/**
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
- * @license MIT
- */
-
-import { IKeyboardEvent, IKeyboardResult, KeyboardResultType } from 'common/Types';
-import { C0 } from 'common/data/EscapeSequences';
-
-// reg + shift key mappings for digits and special chars
-const KEYCODE_KEY_MAPPINGS: { [key: number]: [string, string]} = {
-  // digits 0-9
-  48: ['0', ')'],
-  49: ['1', '!'],
-  50: ['2', '@'],
-  51: ['3', '#'],
-  52: ['4', '$'],
-  53: ['5', '%'],
-  54: ['6', '^'],
-  55: ['7', '&'],
-  56: ['8', '*'],
-  57: ['9', '('],
-
-  // special chars
-  186: [';', ':'],
-  187: ['=', '+'],
-  188: [',', '<'],
-  189: ['-', '_'],
-  190: ['.', '>'],
-  191: ['/', '?'],
-  192: ['`', '~'],
-  219: ['[', '{'],
-  220: ['\\', '|'],
-  221: [']', '}'],
-  222: ['\'', '"']
-};
-
-export function evaluateKeyboardEvent(
-  ev: IKeyboardEvent,
-  applicationCursorMode: boolean,
-  isMac: boolean,
-  macOptionIsMeta: boolean
-): IKeyboardResult {
-  const result: IKeyboardResult = {
-    type: KeyboardResultType.SEND_KEY,
-    // Whether to cancel event propagation (NOTE: this may not be needed since the event is
-    // canceled at the end of keyDown
-    cancel: false,
-    // The new key even to emit
-    key: undefined
-  };
-  const modifiers = (ev.shiftKey ? 1 : 0) | (ev.altKey ? 2 : 0) | (ev.ctrlKey ? 4 : 0) | (ev.metaKey ? 8 : 0);
-  switch (ev.keyCode) {
-    case 0:
-      if (ev.key === 'UIKeyInputUpArrow') {
-        if (applicationCursorMode) {
-          result.key = C0.ESC + 'OA';
-        } else {
-          result.key = C0.ESC + '[A';
-        }
-      }
-      else if (ev.key === 'UIKeyInputLeftArrow') {
-        if (applicationCursorMode) {
-          result.key = C0.ESC + 'OD';
-        } else {
-          result.key = C0.ESC + '[D';
-        }
-      }
-      else if (ev.key === 'UIKeyInputRightArrow') {
-        if (applicationCursorMode) {
-          result.key = C0.ESC + 'OC';
-        } else {
-          result.key = C0.ESC + '[C';
-        }
-      }
-      else if (ev.key === 'UIKeyInputDownArrow') {
-        if (applicationCursorMode) {
-          result.key = C0.ESC + 'OB';
-        } else {
-          result.key = C0.ESC + '[B';
-        }
-      }
-      break;
-    case 8:
-      // backspace
-      if (ev.shiftKey) {
-        result.key = C0.BS; // ^H
-        break;
-      } else if (ev.altKey) {
-        result.key = C0.ESC + C0.DEL; // \e ^?
-        break;
-      }
-      result.key = C0.DEL; // ^?
-      break;
-    case 9:
-      // tab
-      if (ev.shiftKey) {
-        result.key = C0.ESC + '[Z';
-        break;
-      }
-      result.key = C0.HT;
-      result.cancel = true;
-      break;
-    case 13:
-      // return/enter
-      result.key = C0.CR;
-      result.cancel = true;
-      break;
-    case 27:
-      // escape
-      result.key = C0.ESC;
-      result.cancel = true;
-      break;
-    case 37:
-      // left-arrow
-      if (ev.metaKey) {
-        break;
-      }
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'D';
-        // HACK: Make Alt + left-arrow behave like Ctrl + left-arrow: move one word backwards
-        // http://unix.stackexchange.com/a/108106
-        // macOS uses different escape sequences than linux
-        if (result.key === C0.ESC + '[1;3D') {
-          result.key = C0.ESC + (isMac ? 'b' : '[1;5D');
-        }
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OD';
-      } else {
-        result.key = C0.ESC + '[D';
-      }
-      break;
-    case 39:
-      // right-arrow
-      if (ev.metaKey) {
-        break;
-      }
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'C';
-        // HACK: Make Alt + right-arrow behave like Ctrl + right-arrow: move one word forward
-        // http://unix.stackexchange.com/a/108106
-        // macOS uses different escape sequences than linux
-        if (result.key === C0.ESC + '[1;3C') {
-          result.key = C0.ESC + (isMac ? 'f' : '[1;5C');
-        }
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OC';
-      } else {
-        result.key = C0.ESC + '[C';
-      }
-      break;
-    case 38:
-      // up-arrow
-      if (ev.metaKey) {
-        break;
-      }
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'A';
-        // HACK: Make Alt + up-arrow behave like Ctrl + up-arrow
-        // http://unix.stackexchange.com/a/108106
-        // macOS uses different escape sequences than linux
-        if (!isMac && result.key === C0.ESC + '[1;3A') {
-          result.key = C0.ESC + '[1;5A';
-        }
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OA';
-      } else {
-        result.key = C0.ESC + '[A';
-      }
-      break;
-    case 40:
-      // down-arrow
-      if (ev.metaKey) {
-        break;
-      }
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'B';
-        // HACK: Make Alt + down-arrow behave like Ctrl + down-arrow
-        // http://unix.stackexchange.com/a/108106
-        // macOS uses different escape sequences than linux
-        if (!isMac && result.key === C0.ESC + '[1;3B') {
-          result.key = C0.ESC + '[1;5B';
-        }
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OB';
-      } else {
-        result.key = C0.ESC + '[B';
-      }
-      break;
-    case 45:
-      // insert
-      if (!ev.shiftKey && !ev.ctrlKey) {
-        // <Ctrl> or <Shift> + <Insert> are used to
-        // copy-paste on some systems.
-        result.key = C0.ESC + '[2~';
-      }
-      break;
-    case 46:
-      // delete
-      if (modifiers) {
-        result.key = C0.ESC + '[3;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[3~';
-      }
-      break;
-    case 36:
-      // home
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'H';
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OH';
-      } else {
-        result.key = C0.ESC + '[H';
-      }
-      break;
-    case 35:
-      // end
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'F';
-      } else if (applicationCursorMode) {
-        result.key = C0.ESC + 'OF';
-      } else {
-        result.key = C0.ESC + '[F';
-      }
-      break;
-    case 33:
-      // page up
-      if (ev.shiftKey) {
-        result.type = KeyboardResultType.PAGE_UP;
-      } else {
-        result.key = C0.ESC + '[5~';
-      }
-      break;
-    case 34:
-      // page down
-      if (ev.shiftKey) {
-        result.type = KeyboardResultType.PAGE_DOWN;
-      } else {
-        result.key = C0.ESC + '[6~';
-      }
-      break;
-    case 112:
-      // F1-F12
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'P';
-      } else {
-        result.key = C0.ESC + 'OP';
-      }
-      break;
-    case 113:
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'Q';
-      } else {
-        result.key = C0.ESC + 'OQ';
-      }
-      break;
-    case 114:
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'R';
-      } else {
-        result.key = C0.ESC + 'OR';
-      }
-      break;
-    case 115:
-      if (modifiers) {
-        result.key = C0.ESC + '[1;' + (modifiers + 1) + 'S';
-      } else {
-        result.key = C0.ESC + 'OS';
-      }
-      break;
-    case 116:
-      if (modifiers) {
-        result.key = C0.ESC + '[15;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[15~';
-      }
-      break;
-    case 117:
-      if (modifiers) {
-        result.key = C0.ESC + '[17;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[17~';
-      }
-      break;
-    case 118:
-      if (modifiers) {
-        result.key = C0.ESC + '[18;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[18~';
-      }
-      break;
-    case 119:
-      if (modifiers) {
-        result.key = C0.ESC + '[19;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[19~';
-      }
-      break;
-    case 120:
-      if (modifiers) {
-        result.key = C0.ESC + '[20;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[20~';
-      }
-      break;
-    case 121:
-      if (modifiers) {
-        result.key = C0.ESC + '[21;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[21~';
-      }
-      break;
-    case 122:
-      if (modifiers) {
-        result.key = C0.ESC + '[23;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[23~';
-      }
-      break;
-    case 123:
-      if (modifiers) {
-        result.key = C0.ESC + '[24;' + (modifiers + 1) + '~';
-      } else {
-        result.key = C0.ESC + '[24~';
-      }
-      break;
-    default:
-      // a-z and space
-      if (ev.ctrlKey && !ev.shiftKey && !ev.altKey && !ev.metaKey) {
-        if (ev.keyCode >= 65 && ev.keyCode <= 90) {
-          result.key = String.fromCharCode(ev.keyCode - 64);
-        } else if (ev.keyCode === 32) {
-          result.key = C0.NUL;
-        } else if (ev.keyCode >= 51 && ev.keyCode <= 55) {
-          // escape, file sep, group sep, record sep, unit sep
-          result.key = String.fromCharCode(ev.keyCode - 51 + 27);
-        } else if (ev.keyCode === 56) {
-          result.key = C0.DEL;
-        } else if (ev.keyCode === 219) {
-          result.key = C0.ESC;
-        } else if (ev.keyCode === 220) {
-          result.key = C0.FS;
-        } else if (ev.keyCode === 221) {
-          result.key = C0.GS;
-        }
-      } else if ((!isMac || macOptionIsMeta) && ev.altKey && !ev.metaKey) {
-        // On macOS this is a third level shift when !macOptionIsMeta. Use <Esc> instead.
-        const keyMapping = KEYCODE_KEY_MAPPINGS[ev.keyCode];
-        const key = keyMapping && keyMapping[!ev.shiftKey ? 0 : 1];
-        if (key) {
-          result.key = C0.ESC + key;
-        } else if (ev.keyCode >= 65 && ev.keyCode <= 90) {
-          const keyCode = ev.ctrlKey ? ev.keyCode - 64 : ev.keyCode + 32;
-          result.key = C0.ESC + String.fromCharCode(keyCode);
-        }
-      } else if (isMac && !ev.altKey && !ev.ctrlKey && ev.metaKey) {
-        if (ev.keyCode === 65) { // cmd + a
-          result.type = KeyboardResultType.SELECT_ALL;
-        }
-      } else if (ev.key && !ev.ctrlKey && !ev.altKey && !ev.metaKey && ev.keyCode >= 48 && ev.key.length === 1) {
-        // Include only keys that that result in a _single_ character; don't include num lock, volume up, etc.
-        result.key = ev.key;
-      } else if (ev.key && ev.ctrlKey) {
-        if (ev.key === '_') { // ^_
-          result.key = C0.US;
-        }
-      }
-      break;
-  }
-
-  return result;
-}