Return True to allow the given key to start editing: the base class
        version only checks that the event has no modifiers.  F2 is special
        and will always start the editor.

def IsAcceptedKey(self, evt):
        """
        Return True to allow the given key to start editing: the base class
        version only checks that the event has no modifiers.  F2 is special
        and will always start the editor.

        """

        ## We can ask the base class to do it
        #return super(MyCellEditor, self).IsAcceptedKey(evt)

        # or do it ourselves

        accepted = super(GridCellEditor, self).IsAcceptedKey(evt)
        accepted = accepted and not evt.ControlDown()
        accepted = accepted and not evt.AltDown()
        accepted = accepted and (evt.GetKeyCode() != wx.WXK_SHIFT)

        return accepted