code: function() {
  
          /**
           * Reference to this key event.
           */
          var key_event = this;
  
          /**
           * An arbitrary timestamp in milliseconds, indicating this event's
           * position in time relative to other events.
           *
           * @type {Number}
           */
          this.timestamp = new Date().getTime();
  
          /**
           * Whether the default action of this key event should be prevented.
           *
           * @type {Boolean}
           */
          this.defaultPrevented = false;
  
          /**
           * The keysym of the key associated with this key event, as determined
           * by a best-effort guess using available event properties and keyboard
           * state.
           *
           * @type {Number}
           */
          this.keysym = null;
  
          /**
           * Whether the keysym value of this key event is known to be reliable.
           * If false, the keysym may still be valid, but it's only a best guess,
           * and future key events may be a better source of information.
           *
           * @type {Boolean}
           */
          this.reliable = false;
  
          /**
           * Returns the number of milliseconds elapsed since this event was
           * received.
           *
           * @return {Number} The number of milliseconds elapsed since this
           *                  event was received.
           */
          this.getAge = function() {
              return new Date().getTime() - key_event.timestamp;
          };
  
      }
docs: A key event having a corresponding timestamp. This event is non-specific.
  Its subclasses should be used instead when recording specific key
  events.
  
  @private
  @constructor