code: def test_plot_raw_ssp_interaction(raw, browser_backend):
      """Test SSP projector UI of plot_raw()."""
      with raw.info._unlock():
          raw.info[
              "lowpass"
          ] = 10.0  # allow heavy decim during plotting
      # apply some (not all) projs to test our proj UI (greyed out applied projs)
      projs = raw.info["projs"][-2:]
      raw.del_proj([-2, -1])
      raw.apply_proj()
      raw.add_proj(projs)
      fig = raw.plot()
      # open SSP window
      fig._fake_keypress("j")
      assert browser_backend._get_n_figs() == 2
      ssp_fig = fig.mne.fig_proj
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          True,
          True,
      ]
      # this should have no effect (proj 0 is already applied)
      assert _proj_label(ssp_fig, browser_backend)[0].endswith(
          "(already applied)"
      )
      _proj_click(0, fig, browser_backend)
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          True,
          True,
      ]
      # this should work (proj 1 not applied)
      _proj_click(1, fig, browser_backend)
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          False,
          True,
      ]
      # turn it back on
      _proj_click(1, fig, browser_backend)
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          True,
          True,
      ]
      # toggle all off (button axes need both press and release)
      _proj_click_all(fig, browser_backend)
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          False,
          False,
      ]
      fig._fake_keypress("J")
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          True,
          True,
      ]
      fig._fake_keypress("J")
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          False,
          False,
      ]
      # turn all on
      _proj_click_all(fig, browser_backend)
      assert fig.mne.projector is not None  # on
      assert _proj_status(ssp_fig, browser_backend) == [
          True,
          True,
          True,
      ]
  
imports: import itertools
  import os
  from copy import deepcopy
  import matplotlib.pyplot
  import numpy
  import pytest
  from matplotlib import backend_bases
  from numpy.testing import assert_allclose
  from mne import Annotations, create_info, pick_types
  from mne._fiff.pick import _DATA_CH_TYPES_ORDER_DEFAULT, _PICK_TYPES_DATA_DICT
  from mne.annotations import _sync_onset
  from mne.datasets import testing
  from mne.io import RawArray
  from mne.utils import _assert_no_instances, _dt_to_stamp, _record_warnings, check_version, get_config, set_config
  from mne.viz import plot_raw, plot_sensors
  from mne.viz.utils import _fake_click, _fake_keypress
label_desc: Use image node_id 12 for calling a global function with example usage: test_plot_raw_ssp_interaction(raw, browser_backend) without return types