   isNonCharacterKey = event.key.length > 1
 
   if isNonCharacterKey
-    key = NonCharacterKeyNamesByDOM3Key[event.key] ? event.key.toLowerCase()
+    key = NON_CHARACTER_KEY_NAMES_BY_KEYBOARD_EVENT_KEY[event.key] ? event.key.toLowerCase()
   else
     key = event.key
 


exports.calculateSpecificity = calculateSpecificity

exports.isBareModifier = (keystroke) -> EndsInModifierRegex.test(keystroke)

exports.keydownEvent = (key, options) ->
  return keyboardEvent(key, 'keydown', options)

  'ArrowLeft': 'left',
  'ArrowRight': 'right'
}
MATCH_TYPES = {
  EXACT: 'exact'
  KEYDOWN_EXACT: 'keydownExact'
  PARTIAL: 'partial'
}

isASCIICharacter = (character) ->
  character? and character.length is 1 and character.charCodeAt(0) <= 127
