tdf#149351 Add a 'Turn off mouse as pen' shortcut

for UX compatibility with PP: Ctrl-A turns off 'mouse as pen' mode

Change-Id: I0379580f4034f07f044dc1079c14898f3014face
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135579
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
diff --git a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
index 4f99dae..b21e67f 100644
--- a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
@@ -1163,6 +1163,14 @@
            <value xml:lang="en-US">Switches monitors</value>
          </prop>
        </node>
        <node oor:name="z" oor:op="replace">
          <prop oor:name="Left">
            <value xml:lang="en-US">Ctrl-'A'</value>
          </prop>
          <prop oor:name="Right">
            <value xml:lang="en-US">Turn off pointer as pen mode</value>
          </prop>
        </node>
      </node>
    </node>
  </node>
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index 3215a55..89a8ac9 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -1816,6 +1816,15 @@ bool SlideshowImpl::keyInput(const KeyEvent& rKEvt)
                setUsePen( !mbUsePen );
                break;

            // tdf#149351 Ctrl+A disables pointer as pen mode
            case KEY_A:
                if(rKEvt.GetKeyCode().IsMod1())
                {
                    setUsePen( false );
                    break;
                }
            break;

            case KEY_E:
                setEraseAllInk( true );
                updateSlideShow();
diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx
index 5b501db..1062d89 100644
--- a/sdext/source/presenter/PresenterController.cxx
+++ b/sdext/source/presenter/PresenterController.cxx
@@ -878,6 +878,17 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
            }
            break;

        // tdf#149351 Ctrl+A disables pointer as pen mode
        case awt::Key::A:
            if (mxSlideShowController.is())
            {
                if (rEvent.Modifiers == awt::KeyModifier::MOD1)
                {
                    mxSlideShowController->setUsePen( false );
                }
            }
            break;

        case awt::Key::E:
            if (mxSlideShowController.is())
            {