officecfg/registry/schema/org/openoffice/Office/Calc.xcs |    7 +++++++
 sc/source/ui/view/cellsh4.cxx                            |   12 ++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

New commits:
commit c7de706f5f4b32babdad1cf2ced4e79c802df46a
Author:     Heiko Tietze <heiko.tie...@documentfoundation.org>
AuthorDate: Mon Jul 17 16:03:41 2023 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Fri Jul 21 14:51:01 2023 +0200

    Resolves tdf#112876 - Make use of scroll lock configurable
    
    Change-Id: I8e2f238e59601fcc1d92fc0593c3d20e75396cc5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154528
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Tested-by: Jenkins
    (cherry picked from commit 4adc868328e958a4a9cead3731bd3468497c97c8)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154696
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index d282ca681fa0..0cb348ea087e 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -690,6 +690,13 @@
         </info>
         <value>true</value>
       </prop>
+      <prop oor:name="UseScrollLock" oor:type="xs:boolean" 
oor:nillable="false">
+        <info>
+          <desc>Toggles the scroll lock behavior allowing to disable it for 
special keyboards</desc>
+          <label>Toggles the scroll lock behavior allowing to disable it for 
special keyboards</label>
+        </info>
+        <value>true</value>
+      </prop>
       <prop oor:name="LastFunctions" oor:type="oor:int-list" 
oor:nillable="false">
         <info>
           <desc>Specifies the functions last used.</desc>
diff --git a/sc/source/ui/view/cellsh4.cxx b/sc/source/ui/view/cellsh4.cxx
index 13d6993634dd..e44dbe599dba 100644
--- a/sc/source/ui/view/cellsh4.cxx
+++ b/sc/source/ui/view/cellsh4.cxx
@@ -27,6 +27,7 @@
 #include <inputhdl.hxx>
 #include <inputwin.hxx>
 #include <document.hxx>
+#include <officecfg/Office/Calc.hxx>
 #include <sc.hrc>
 
 void ScCellShell::ExecuteCursor( SfxRequest& rReq )
@@ -121,10 +122,13 @@ void ScCellShell::ExecuteCursor( SfxRequest& rReq )
     // If ScrollLock key is active, cell cursor stays on the current cell while
     // scrolling the grid.
     bool bScrollLock = false;
-    KeyIndicatorState eState = pFrameWin->GetIndicatorState();
-    if (eState & KeyIndicatorState::SCROLLLOCK)
-        bScrollLock = true;
-
+    // tdf#112876 - allow to disable for special keyboards
+    if (officecfg::Office::Calc::Input::UseScrollLock::get())
+    {
+        KeyIndicatorState eState = pFrameWin->GetIndicatorState();
+        if (eState & KeyIndicatorState::SCROLLLOCK)
+            bScrollLock = true;
+    }
     //OS: once for all should do, however!
     pTabViewShell->ExecuteInputDirect();
     switch ( nSlotId )

Reply via email to