Losing key bindings


#1

Key bindings quit working at random times. It seems all custom ones stop working and switch to the old defaults. Also when this happens I can’t close the find-and-replace dialog. This happens about every hour or so. Reloading Atom fixes it.

I’m on windows 8.0 and this has happened since approximately Atom 127.

I have been too stupid to check the keybinding resolver when this happens but I will next time. I can’t test with --safe mode because it doesn’t happen often enough.


#2

I was able to check out the binding resolver dialog when the problem was happening.

When working keys were pressed the resolver dialog worked normally. When a broken custom key was pressed the dialog was empty, even though the key performed the old default action.

When the escape key was broken and not closing the find-and-replace pane, the resolver dialog was also empty.

The only time the resolver dialog should be empty is when a core binding that isn’t overridden is pressed. But my broken custom keys were things like ctrl-d which is not core.


#3

I haven’t seen anything like this except when Atom gets in a wedged state because of some misbehaving package. If you can reproduce it while running atom --safe or can give some idea of how to get into that state, it might help others search for the cause too.


#4

I can’t imagine using Atom without the add-on packages. I guess I’ll have to.


#5

I’ve tracked down part of the problem with my keybindings not working. The .cson file doesn’t allow duplicate property names. I guess I knew this but I was thinking it was like an apache .ini file or something where duplicates don’t matter. This didn’t work …

'.workspace':
  'ctrl-o':       'project-manager:toggle'
'.workspace':
  'ctrl-alt-shift-i': 'node-debug:connect'

But this worked …

'.workspace':
  'ctrl-o':       'project-manager:toggle'
  'ctrl-alt-shift-i': 'node-debug:connect'

Would it be possible to treat duplicate properties as a syntax error?


Overriding core keybindings?
Auto-indent key binding not working. RESOLVED
#6

The last time this came up, I submitted an Issue to show a warning Deprecation Cop style. I can’t find it right now, but I’ll look for it later.