docs: def register_shortcuts(self):
          '''
          .. versionchanged:: 0.14
              Add keyboard shortcuts to set neighbouring electrode states based
              on directional input using ``<Control>`` key plus the corresponding
              direction (e.g., ``<Control>Up``)
          '''
          def control_protocol(command):
              if self.plugin is not None:
                  self.plugin.execute_async('microdrop.gui.protocol_controller',
                                            command)
  
          def actuate_direction(direction):
              if self.plugin is not None:
                  self.plugin.execute_async('microdrop.electrode_controller_plugin',
                                            'set_electrode_direction_states',
                                            direction=direction)
  
          # Tie shortcuts to protocol controller commands (next, previous, etc.)
          shortcuts = {'<Control>r': lambda *args:
                       control_protocol('run_protocol'),
                       '<Control>z': lambda *args: self.undo(),
                       '<Control>y': lambda *args: self.redo(),
                       'A': lambda *args: control_protocol('first_step'),
                       'S': lambda *args: control_protocol('prev_step'),
                       'D': lambda *args: control_protocol('next_step'),
                       'F': lambda *args: control_protocol('last_step'),
                       '<Control>Up': lambda *args: actuate_direction('up'),
                       '<Control>Down': lambda *args: actuate_direction('down'),
                       '<Control>Left': lambda *args: actuate_direction('left'),
                       '<Control>Right': lambda *args:
                       actuate_direction('right')}
          register_shortcuts(self.widget.parent, shortcuts)