docs: function(module, exports, __webpack_require__) {
  
  	/**
  	 * Copyright 2013-present, Facebook, Inc.
  	 * All rights reserved.
  	 *
  	 * This source code is licensed under the BSD-style license found in the
  	 * LICENSE file in the root directory of this source tree. An additional grant
  	 * of patent rights can be found in the PATENTS file in the same directory.
  	 *
  	 */
  	
  	'use strict';
  	
  	var getEventCharCode = __webpack_require__(153);
  	
  	/**
  	 * Normalization of deprecated HTML5 `key` values
  	 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
  	 */
  	var normalizeKey = {
  	  'Esc': 'Escape',
  	  'Spacebar': ' ',
  	  'Left': 'ArrowLeft',
  	  'Up': 'ArrowUp',
  	  'Right': 'ArrowRight',
  	  'Down': 'ArrowDown',
  	  'Del': 'Delete',
  	  'Win': 'OS',
  	  'Menu': 'ContextMenu',
  	  'Apps': 'ContextMenu',
  	  'Scroll': 'ScrollLock',
  	  'MozPrintableKey': 'Unidentified'
  	};
  	
  	/**
  	 * Translation from legacy `keyCode` to HTML5 `key`
  	 * Only special keys supported, all others depend on keyboard layout or browser
  	 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
  	 */
  	var translateToKey = {
  	  8: 'Backspace',
  	  9: 'Tab',
  	  12: 'Clear',
  	  13: 'Enter',
  	  16: 'Shift',
  	  17: 'Control',
  	  18: 'Alt',
  	  19: 'Pause',
  	  20: 'CapsLock',
  	  27: 'Escape',
  	  32: ' ',
  	  33: 'PageUp',
  	  34: 'PageDown',
  	  35: 'End',
  	  36: 'Home',
  	  37: 'ArrowLeft',
  	  38: 'ArrowUp',
  	  39: 'ArrowRight',
  	  40: 'ArrowDown',
  	  45: 'Insert',
  	  46: 'Delete',
  	  112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6',
  	  118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12',
  	  144: 'NumLock',
  	  145: 'ScrollLock',
  	  224: 'Meta'
  	};
  	
  	/**
  	 * @param {object} nativeEvent Native browser event.
  	 * @return {string} Normalized `key` property.
  	 */
  	function getEventKey(nativeEvent) {
  	  if (nativeEvent.key) {
  	    // Normalize inconsistent values reported by browsers due to
  	    // implementations of a working draft specification.
  	
  	    // FireFox implements `key` but returns `MozPrintableKey` for all
  	    // printable characters (normalized to `Unidentified`), ignore it.
  	    var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
  	    if (key !== 'Unidentified') {
  	      return key;
  	    }
  	  }
  	
  	  // Browser does not implement `key`, polyfill as much of it as we can.
  	  if (nativeEvent.type === 'keypress') {
  	    var charCode = getEventCharCode(nativeEvent);
  	
  	    // The enter-key is technically both printable and non-printable and can
  	    // thus be captured by `keypress`, no other non-printable key should.
  	    return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);
  	  }
  	  if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
  	    // While user keyboard layout determines the actual meaning of each
  	    // `keyCode` value, almost all function keys have a universal value.
  	    return translateToKey[nativeEvent.keyCode] || 'Unidentified';
  	  }
  	  return '';
  	}
  	
  	module.exports = getEventKey;
  
  /***/ }