 
   onEditInputKeyDown: (event) ->
 
-    code = event.which or event.keyCode
-    key  = keycode code
-
-    switch key
-      when 'esc'
-        @cancelEdit()
-      when 'enter'
-        @updateMessage()
+    { ESC, ENTER, BACKSPACE } = KeyboardKeys
+
+    switch event.which
+      when ESC         then @cancelEdit()
+      when ENTER       then @updateMessage()
+      when BACKSPACE   then @onEditInputBackspace event
+
+
+  onEditInputBackspace: (event) ->
+
+    return yes  if @state.editInputValue
+    kd.utils.stopDOMEvent event
+    @setState isDeleting: yes
 
 
   getEditModeClassNames: -> classnames


  cancelEdit: ->

    messageId = @props.message.get '_id'
    ActivityFlux.actions.message.unsetMessageEditMode messageId



  updateMessage: ->

    return @deletePostButtonHandler()  if @state.isDeleting

    name  = @props.channelName
    value = @state.editInputValue
    messageId = @props.message.get '_id'
