Remove KeyBinder and CommandMap.

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-01-11 09:57:30 -08:00
parent 2a80a72d64
commit e58f699681
9 changed files with 11 additions and 260 deletions

View File

@@ -1,40 +0,0 @@
module.exports =
class KeyBinder
namedKeys:
backspace: 8, tab: 9, clear: 12,
enter: 13, 'return': 13,
esc: 27, escape: 27, space: 32,
left: 37, up: 38,
right: 39, down: 40,
del: 46, 'delete': 46,
home: 36, end: 35,
pageup: 33, pagedown: 34,
',': 188, '.': 190, '/': 191,
'`': 192, '-': 189, '=': 187,
';': 186, '\'': 222,
'[': 219, ']': 221, '\\': 220
keyEventMatchesPattern: (event, pattern) ->
pattern = @parseKeyPattern pattern
pattern.ctrlKey == event.ctrlKey and
pattern.altKey == event.altKey and
pattern.shiftKey == event.shiftKey and
pattern.metaKey == event.metaKey and
pattern.which == event.which
parseKeyPattern: (pattern) ->
[modifiers..., key] = pattern.split '+'
if @namedKeys[key]
charCode = @namedKeys[key]
key = null
else
charCode = key.toUpperCase().charCodeAt 0
ctrlKey: 'ctrl' in modifiers
altKey: 'alt' in modifiers
shiftKey: 'shift' in modifiers
metaKey: 'meta' in modifiers
which: charCode
key: key

View File

@@ -51,10 +51,11 @@ class Native
title = _.last(itemPathComponents)
unless submenu.itemWithTitle(title)
item = OSX.AtomMenuItem.alloc.initWithTitle_itemPath(title, itemPath).autorelease
item.setKeyEquivalentModifierMask 0 # Because it Cocoa defaults it to NSCommandKeyMask
item.setKeyEquivalentModifierMask 0 # Because in Cocoa defaults it to NSCommandKeyMask
if keyPattern
keys = atom.keyBinder.parseKeyPattern keyPattern
bindingSet = new (require('binding-set'))("*", {})
keys = bindingSet.parseKeyPattern keyPattern
modifierMask = (keys.metaKey and OSX.NSCommandKeyMask ) |
(keys.shiftKey and OSX.NSShiftKeyMask) |

View File

@@ -53,7 +53,8 @@ $.fn.view = ->
$.fn.bindKey = (pattern, action) ->
@on 'keydown', (event) =>
if atom.keyBinder.keyEventMatchesPattern(event, pattern)
bindingSet = new (require('binding-set'))("*", {})
if bindingSet.eventMatchesPattern(event, pattern)
if _.isString(action)
this.view()[action]()
else