@@ -326,8 +326,9 @@ define(function (require, exports, module) {
326326 * Convert keydown events into hint list navigation actions.
327327 *
328328 * @param {KeyBoardEvent } keyEvent
329+ * @param {bool } isFakeKeydown - True if faked key down call (for example calling CTRL+Space while hints are open)
329330 */
330- CodeHintList . prototype . _keydownHook = function ( event ) {
331+ CodeHintList . prototype . _keydownHook = function ( event , isFakeKeydown ) {
331332 var keyCode ,
332333 self = this ;
333334
@@ -389,13 +390,13 @@ define(function (require, exports, module) {
389390 }
390391
391392 // (page) up, (page) down, enter and tab key are handled by the list
392- if ( event . type === "keydown" && this . isHandlingKeyCode ( event ) ) {
393+ if ( ( event . type === "keydown" || isFakeKeydown ) && this . isHandlingKeyCode ( event ) ) {
393394 keyCode = event . keyCode ;
394395
395396 if ( event . keyCode === KeyEvent . DOM_VK_ESCAPE ) {
396397 event . stopImmediatePropagation ( ) ;
397398 this . handleClose ( ) ;
398-
399+
399400 return false ;
400401 } else if ( event . shiftKey &&
401402 ( event . keyCode === KeyEvent . DOM_VK_UP ||
@@ -517,9 +518,7 @@ define(function (require, exports, module) {
517518 * @param {KeyBoardEvent } keyEvent
518519 */
519520 CodeHintList . prototype . callMoveUp = function ( event ) {
520- delete event . type ;
521- event . type = "keydown" ;
522- this . _keydownHook ( event ) ;
521+ this . _keydownHook ( event , true ) ;
523522 } ;
524523 /**
525524 * Closes the hint list
0 commit comments