Bug 112876 - Make use of scroll lock for navigation configurable (it conflicts with system use as keyboard layout indicator)
Summary: Make use of scroll lock for navigation configurable (it conflicts with system...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
5.3.0.3 release
Hardware: All All
: medium normal
Assignee: Heiko Tietze
URL:
Whiteboard: target:24.2.0 target:7.6.0.2
Keywords: difficultyMedium, easyHack, skillCpp
: 120869 140160 (view as bug list)
Depends on:
Blocks: Options-Dialog-Calc RTL-UI
  Show dependency treegraph
 
Reported: 2017-10-04 12:30 UTC by Shay G
Modified: 2023-12-14 09:58 UTC (History)
17 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Shay G 2017-10-04 12:30:28 UTC
Hi,

Recently (1) scroll lock has started being used to navigate the document (Same as in MS Excel). However I use scroll lock to indicate current input language...

Is it possible to add an option for this?

Thanks

(1) https://bugs.documentfoundation.org/show_bug.cgi?id=46200
Comment 1 Aron Budea 2017-10-04 13:38:01 UTC
Seems reasonable, it was also requested in bug 46200 comment 31 and in bug 111627 (which also seems to be about a bug, but needs more details from the reporter).
I'm not sure why the feature should be deactivated by default, though, that needs further reasoning. CCing the others who requested this before.

UX team, please suggest a configuration option for this.
Comment 2 Shay G 2017-10-04 13:46:55 UTC
In debian, in a multi language config it should be disabled by default as debian uses scroll lock like this by default. On other distros it shouldn't.
Comment 3 erbe 2017-10-04 14:47:01 UTC
Hi,

I would say, to keep it simple, the option shall be enabled by default (like in MS Excel) in all distributions - if needed a user could disable it somewhere in configuration - and for this we would need an option somewhere in preferences. 

I also do use Debian with two keyboard layouts and don't use the scroll lock's LED to show me which keyboard layout I use. I can see it in Gnome or XFCE taskbar.

Regards
Comment 4 Heiko Tietze 2017-10-05 07:25:59 UTC
What I understand is that Shay wants to reconfigure the shortcut. For other functions that's done via tools > customize (greatly improved for 6.0) where .uno:ScrollLock should be bound to .key:ScrollLock (or whatever this is labeled internally). And this assignment can be removed or redefined.
Comment 5 Shay G 2017-10-05 14:04:34 UTC
(In reply to Heiko Tietze from comment #4)
> What I understand is that Shay wants to reconfigure the shortcut. For other
> functions that's done via tools > customize (greatly improved for 6.0) where
> .uno:ScrollLock should be bound to .key:ScrollLock (or whatever this is
> labeled internally). And this assignment can be removed or redefined.

Yes.
Comment 6 Dmitry 2017-11-14 21:23:44 UTC Comment hidden (me-too)
Comment 7 Sergey 2017-11-19 11:15:28 UTC Comment hidden (me-too)
Comment 8 Heiko Tietze 2017-11-19 11:42:31 UTC
(In reply to Sergey from comment #7)
> So I don't see why LibreOffice should make its default configuration conflicting
> with all these systems.

When a user wants to configure the scroll key him or herself, why not? By default it will be empty, of course.

Removing UX, dev please add scrollkey to customization.
Comment 9 Sergey 2017-11-19 12:52:03 UTC
(In reply to Heiko Tietze from comment #8)
> (In reply to Sergey from comment #7)
> > So I don't see why LibreOffice should make its default configuration conflicting
> > with all these systems.
> 
> When a user wants to configure the scroll key him or herself, why not? By
> default it will be empty, of course.
> 
> Removing UX, dev please add scrollkey to customization.

Yes, I was talking about default setting. User should be able to customize it, no question.
Comment 10 Norbert X 2017-11-30 16:42:58 UTC
Scroll Lock option is needed.

(see my comment 8 at bug 111627 - https://bugs.documentfoundation.org/show_bug.cgi?id=111627#c8 for details).
Comment 11 kolrac 2018-01-08 14:22:11 UTC
This is not the disturbing of a normal feature: some people assigned a feature to the Scroll Lock key  because of a bug in X11 and Wayland which prevents the key from working as expected. The normal feature, as originally intended, is to modify the behavior of arrow keys and that’s what LO Calc now does.

Also, adding an option to disable this feature means more complexity. Is the feature on or off, how will the ordinary user (possibly used to Excel which supports it) will figure it out? Not everybody reads the release notes. And what happens when or if the bug is fixed in X11 or in Wayland? (See <https://bugs.freedesktop.org/show_bug.cgi?id=94226> and <https://bugs.freedesktop.org/show_bug.cgi?id=104050>).

So, IMHO, no option to disable this is needed for the reasons explained above. If, however, developers decided to add such an option I think it should be disabled by default and the decision to enable it should be left to distro maintainers and/or the end users in order to avoid confusing the huge majority of the user base. Just my 2 cents.
Comment 12 Heiko Tietze 2018-02-13 08:42:35 UTC
Would be nice if the option gets predefined depending on the system capability whether scroll lock is available or not.
Comment 13 Eike Rathke 2018-02-15 15:31:49 UTC
Availabilty still doesn't tell anything about whether it behaves as expected or is unexpectedly abused by some Window manager or other means as an LED indicator activating the lock.
Comment 14 Karsten 2018-02-15 15:58:02 UTC
An option scroll behaviour with 3 choices would solve the problem:
* keyboard (as read from desktop system)
* on (permanent on)
* off (permanent off)
Comment 15 m_a_riosv 2018-03-07 01:23:46 UTC
*** Bug 116250 has been marked as a duplicate of this bug. ***
Comment 16 Eyal Rozenberg 2018-03-07 13:20:00 UTC
Changing the bug title because a configurable option is a possible fix, not the problem itself; and also to avoid dupes being created (like bug 116250).
Comment 17 Mike Kaganski 2018-07-19 00:18:19 UTC
Don't see why this easyhack needs much evaluation. It's known which commit ( http://cgit.freedesktop.org/libreoffice/core/commit/?id=453de3473cf6f383c71466a1ed15e28b844ed7e5 for bug 46200 ) changed the behaviour; so the only thing that is needed is to take a new configuration into account when evaluating the value of bool bScrollLock in ScCellShell::ExecuteCursor. I am sure that Heiko could assist with the new configuration option bits.
Comment 18 Mike Kaganski 2018-07-19 00:44:19 UTC
(In reply to kolrac from comment #11)
> If, however, developers decided to add such an option I think it
> should be disabled by default and the decision to enable it should be left
> to distro maintainers and/or the end users in order to avoid confusing the
> huge majority of the user base.

(In reply to Heiko Tietze from comment #12)
> Would be nice if the option gets predefined depending on the system
> capability whether scroll lock is available or not.

I agree with kolrac on this; when an option is available, it's maintainers' task to define customized defaults when they know it makes sense on the systems they maintain (in the absence of some universal API to obtain meaningful default from system). I don't think that we should try to change the default in LibreOffice from current mode; just introduce the option to disable use of Scroll Lock state for navigation, and let maintainers/users to decide.
Comment 19 Joseph Mitzen 2018-08-21 04:51:22 UTC
(In reply to kolrac from comment #11)

> Also, adding an option to disable this feature means more complexity. Is the
> feature on or off, how will the ordinary user (possibly used to Excel which
> supports it) will figure it out? Not everybody reads the release notes. And
> what happens when or if the bug is fixed in X11 or in Wayland? (See
> <https://bugs.freedesktop.org/show_bug.cgi?id=94226> and
> <https://bugs.freedesktop.org/show_bug.cgi?id=104050>).
> 
> So, IMHO, no option to disable this is needed for the reasons explained
> above. 

This feature whose only purpose seems to be to mimic Excel conflicts with both software and hardware in the real world. The comments here have mentioned some software it conflicts with. In terms of hardware, the popular Cooler Master CMStorm keyboard uses the scroll lock key to turn the backlight on and off. The keyboard is such that you need to have the backlight on, day or night, to see the key labels. This means that if you use LibreOffice you're either stuck in the bizarro scroll mode, meaning you can't use the keyboard to move around a spreadsheet, or you have to turn off the backlight, meaning you can't see the labels on your keys. 

That said, using the latest LibreOffice, 6.1.0.3, in OpenSUSE Tumbleweed, and a CMStorm keyboard, the scrolling no longer occurs. I assumed LibreOffice turned it off until I found this page. If LibreOffice didn't make the change, I wonder if OpenSUSE did? Very weird.
Comment 20 Roman Kuznetsov 2018-09-30 16:53:55 UTC
*** Bug 120206 has been marked as a duplicate of this bug. ***
Comment 21 Norbert X 2018-10-15 19:54:43 UTC Comment hidden (me-too)
Comment 22 Vladimir 2018-11-14 00:14:25 UTC Comment hidden (me-too)
Comment 23 Mike Kaganski 2018-11-14 05:30:47 UTC
(In reply to Vladimir from comment #22)
> ... and when i diceded to google it - what i saw? Proposal to change default
> befaviour of so many distros and DEs instead of adding a simple option?

Amazing how hard reading is.
Instead of seeing what actually is here (the proposal confirmed and set to NEW, supported by UX, and set to easy hack with code pointers, to help anyone interested to jump in and fix it), one sees such bizarre things you couldn't imagine.
Comment 24 Karsten 2018-11-14 07:59:22 UTC Comment hidden (me-too)
Comment 25 Buovjaga 2018-12-27 17:36:28 UTC
*** Bug 120869 has been marked as a duplicate of this bug. ***
Comment 26 Serhiy 2019-09-22 21:10:54 UTC
Please, make this option configurable, because as for now after so many years i can't use LibreOffice :(

I have HP ZBook laptop and on Windows 10 I can not turn on ScrollLock. After research I managed to turn on ScrollLock using onscreen keyboard, and now I can move cell selection by arrow keys only up and down, but left and right arrows move a sheet itself, instead of cell selection. That's very pity and make the navigation to be very hard, I can't work in LO like this, sorry.

LO  6.3.1.2 (64 bit), Windows 10 Pro, HP ZBook 15.
Comment 27 Alex 2020-03-04 18:26:34 UTC Comment hidden (me-too)
Comment 28 Roman Kuznetsov 2021-10-10 19:24:48 UTC
*** Bug 140160 has been marked as a duplicate of this bug. ***
Comment 29 Igor 2022-06-17 20:05:27 UTC Comment hidden (me-too)
Comment 30 Axel Niedenhoff 2023-07-15 18:03:36 UTC
I have surfed the internet a bit and it seems to me that there a number of keyboards out there that use the ScrollLock key for toggling the backlight. I have one myself now and using Calc with this is a pain. So I would like to see this fixed.

Note that the above discussion is a lot about Linux, which might make this appear to be a Linux problem. But the same problem occurs on Windows if you have one of those keyboards.
Comment 31 Heiko Tietze 2023-07-17 14:05:26 UTC
The key and the implementation actually work well but, as commented before, some hardware abuses it for other purpose. So I suggest to block the scroll lock handling with an expert option (tools > options > advanced: UseScrollLock; on by default, of course). Tentative patch at https://gerrit.libreoffice.org/c/core/+/154528

Scroll lock does not work for kf5 and gtk4 but gen, gtk3 and qt6 on Linux.
Comment 32 Commit Notification 2023-07-18 13:05:52 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4adc868328e958a4a9cead3731bd3468497c97c8

Resolves tdf#112876 - Make use of scroll lock configurable

It will be available in 24.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 33 Karsten 2023-07-18 16:52:28 UTC Comment hidden (off-topic)
Comment 34 Heiko Tietze 2023-07-19 06:11:19 UTC Comment hidden (off-topic)
Comment 35 Karsten 2023-07-19 06:36:14 UTC Comment hidden (off-topic)
Comment 36 Mike Kaganski 2023-07-19 06:44:03 UTC Comment hidden (off-topic)
Comment 37 Heiko Tietze 2023-07-19 07:56:13 UTC Comment hidden (off-topic)
Comment 38 Karsten 2023-07-20 07:07:40 UTC
(In reply to Mike Kaganski from comment #36)
> (In reply to Karsten from comment #33)
> 
> Lol. There are hundreds of millions (billions?) Excel users out there; and
> each of them enjoys ScrollLock support, working exactly the same way it was
> implemented almost 6 years ago in Calc.

And there are hundreds of other users that suffer under the non optional implementation of that feature. ;-)
In the own case it was not a special keyboard, it was the behaviour of KDE that did not allow to alter the state when I remember correct.

> If no one was affected bad enough to jump in and try to fix it, with friendly help of
> mentors here offering their assistance, it indicates not a huge problem...

Why any problem must be caused by introducing new features?
Why the standard behaviour is changed and new features are not optional, so that everything keeps fine?
Comment 39 Karsten 2023-07-20 07:21:04 UTC
(In reply to Heiko Tietze from comment #37)
> Standard behavior is not clearly defined but you are right, and we do our
> best.

Standard behaviour can be defined as the working of a software in a stable version.

> In this case scroll lock was implemented as a standard.

Normally your team is feeling offended when it is measured with MS Office.
The nice thing of Libreoffice is to do it better. :-P

> More questionable is the second part with everything being optional. Let's better
> decide on every change whether it make sense to bloat the options, even when
> it's an advanced setting. It is bad usability if you a) have to change an
> option, and b) struggle to find it.

Sorry - it is bad usability when you have to find out why the software cannot be used in a accustomed matter any more and it is really pain when you are forced to find out workarounds to compensate new "features" that will make you crazy.


> > That's the reason why i am still using Version 7.1.8.1...
> You miss a lot of goodies :-).

The goodie is to be able to work with Libreoffice without circumnavigate the pain of workarounds.
In the most cases only the absolute standard basic features are needed.
An Office package is something like a basic tool for writing text or calculating in a spread sheet.

Observing most other users they never use any special functionality, because they simply don't understand it.
So about what kind of progress we are talking about?

> We offer release
> candidates and nightly builds that run in parallel so you can test the new
> releases. Your input is very much welcome.

Thanks - the time will come to test a new stable release. :-)
Comment 40 Buovjaga 2023-07-20 08:52:52 UTC
(In reply to Karsten from comment #38)
> (In reply to Mike Kaganski from comment #36)
> > If no one was affected bad enough to jump in and try to fix it, with friendly help of
> > mentors here offering their assistance, it indicates not a huge problem...
> 
> Why any problem must be caused by introducing new features?
> Why the standard behaviour is changed and new features are not optional, so
> that everything keeps fine?

Often options are added, but keep in mind that this duplicates the maintenance burden of a feature. The danger is having an ever-growing fractal of test cases to care for.
Comment 41 Mike Kaganski 2023-07-20 09:10:00 UTC
(In reply to Karsten from comment #38)

Please use some common sense!

We are discussing the [Scroll Lock] keyboard key here, not [Kbd Layout] key.
This key was *intended* specifically for the purpose of modifying the behavior of arrow keys [1]; it was intended that this key woks as it was introduced in LibreOffice 5.3. So it *definitely* was implementing *the* standard behavior. Standard for all spreadsheet software (so industry best practices compliance); standard for keyboard design; standard for the vast majority of users. The behavior before that was *not* standard (and users imagining that any behavior of their favorite version X is "standard", are just proof of https://xkcd.com/1172/).

And unlimited flexibility with every feature being configurable is bad. Bad for users; bad for maintenance. If we tried to do that, we wouldn't be able to improve the program. People wanted that feature since long ago (it was introduced in 2017 to implement tdf#46200 from 2012, which had many watchers, and itself referenced i#7179 from 2002). Those people who wanted the old behavior asked for that, and finally it arrived. Those who wrote things like comment 33 after that, are just ... let me not call things their proper names.

[1] https://en.wikipedia.org/wiki/Scroll_Lock
Comment 42 Karsten 2023-07-20 11:17:26 UTC
(In reply to Buovjaga from comment #40)
> Often options are added, but keep in mind that this duplicates the
> maintenance burden of a feature. The danger is having an ever-growing
> fractal of test cases to care for.

When this is a problem, then a new feature should really be needed and an advantage for the user.
Comment 43 Karsten 2023-07-20 11:28:38 UTC
(In reply to Mike Kaganski from comment #41)

> We are discussing the [Scroll Lock] keyboard key here, not [Kbd Layout] key.

I never discussed a keyboard layout.
It was just the possibility to move the cursor in Calc with the keyboard.
Of course it is not your fault that KDE has a bad interpretation of this key or that this functionality is misused by some keyboard manufacturers.

But this modification was so heavy that it was impossible to work with calc after the introduction of this "feature".

The different sight of a "feature" and a "bug" is normal between developers and users. :-)

> And unlimited flexibility with every feature being configurable is bad. Bad
> for users; bad for maintenance.

That's true of course too.
So let me step back that a new feature should not touch the behaviour of the version before if possible.

> People wanted that feature since long ago

O.K. Then you tried to do the best for the users.
It was not possible to foresee the problems with special keyboards and user interfaces in advance.
However, it would have been nice if there had been a quicker solution for the affected users.
Comment 44 JonIrenicus 2023-07-21 08:33:43 UTC
It's mark as "fixed". Which version of LibreOffice has this update?
Comment 45 Buovjaga 2023-07-21 08:46:23 UTC
(In reply to JonIrenicus from comment #44)
> It's mark as "fixed". Which version of LibreOffice has this update?

See comment 32: It will be available in 24.2.0.
Comment 46 JonIrenicus 2023-07-21 08:49:18 UTC
(In reply to Buovjaga from comment #45)
> See comment 32: It will be available in 24.2.0.
I saw this comment, but the current version of LibreOffice is 7.5.5.
I don' understand, this option will be available in "ten years"? :) Or there are some other version numbers?
Comment 47 Buovjaga 2023-07-21 09:23:12 UTC
(In reply to JonIrenicus from comment #46)
> (In reply to Buovjaga from comment #45)
> > See comment 32: It will be available in 24.2.0.
> I saw this comment, but the current version of LibreOffice is 7.5.5.
> I don' understand, this option will be available in "ten years"? :) Or there
> are some other version numbers?

Read it as February 2024. We changed the versioning to be calendar-based.
Comment 48 Heiko Tietze 2023-07-21 12:51:38 UTC
Cherry-picked this for 7.6 coming soon.
Comment 49 Commit Notification 2023-07-21 12:51:41 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

https://git.libreoffice.org/core/commit/c7de706f5f4b32babdad1cf2ced4e79c802df46a

Resolves tdf#112876 - Make use of scroll lock configurable

It will be available in 7.6.0.2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 50 Axel Niedenhoff 2023-07-25 19:24:53 UTC
Heiko, let me just say thank you for your support here. And even pulling it forward to 7.6—that is really great! This kind of support is really something that makes open-source software shine.
Comment 51 Heiko Tietze 2023-07-26 07:41:59 UTC
(In reply to Axel Niedenhoff from comment #50)
> Heiko, let me just say thank you for your support here. And even pulling it
> forward to 7.6—that is really great! This kind of support is really
> something that makes open-source software shine.

Happy to be of service. And sorry for the late patch, in the end it was pretty simple.
Comment 52 Karsten 2023-07-26 07:49:12 UTC
(In reply to Heiko Tietze from comment #51)
> Happy to be of service. And sorry for the late patch, *in the end it was pretty simple*.

Now you should know what I mean. ;-)
Comment 53 gbert27455 2023-12-14 09:58:36 UTC Comment hidden (spam)