Bug 160465 - Ctrl+Shift+F6 is marked reserved, but doesn't do anything
Summary: Ctrl+Shift+F6 is marked reserved, but doesn't do anything
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.5.2 release
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Shortcuts-Accelerators
  Show dependency treegraph
 
Reported: 2024-04-01 18:07 UTC by Tyler
Modified: 2024-04-29 11:32 UTC (History)
4 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 Tyler 2024-04-01 18:07:08 UTC
Version: 7.6.5.2 (X86_64) / LibreOffice Community
Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b
CPU threads: 16; OS: Linux 5.10; UI render: default; VCL: kf5 (cairo+xcb)
Locale: de-DE (de_DE.UTF-8); UI: en-US
Calc: threaded

Hi,

in the Tools->Customize->Keyboard dialog, Ctrl+Shift+F6 is shown as reserved (gray, on both "LibreOffice" and "Writer" levels), but pressing Ctrl+Shift+F6 has no effect.

Ctrl+Shift+F6 should be either available for user assignment or the intended hard-coded function (if there is one) should be fixed.

BR,
Tyler
Comment 1 Dieter 2024-04-28 15:44:26 UTC
I confirm it with

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 7c2ed9919d6d9d286d9062b91577d6bb2b7de8aa
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: de-DE (de_DE); UI: en-GB
Calc: CL threaded

cc: Design-Team for information about intended behaviour
Comment 2 Regina Henschel 2024-04-28 16:34:13 UTC
Ctrl+Shift+F6 belongs to the accessibility shortcuts of LibreOffice and works as intended.
If a sheet in Calc is divided into two parts (menu View -> Split Window), then the shortcut Ctrl+Shift+F6 gives access to the dividing line so that it can be moved with the arrow keys.

BTW, combinations with F6 and F10 are often accessibility shortcuts.
Comment 3 V Stuart Foote 2024-04-28 17:46:31 UTC
(In reply to Regina Henschel from comment #2)
> Ctrl+Shift+F6 belongs to the accessibility shortcuts of LibreOffice and
> works as intended.
> If a sheet in Calc is divided into two parts (menu View -> Split Window),
> then the shortcut Ctrl+Shift+F6 gives access to the dividing line so that it
> can be moved with the arrow keys.
> 
> BTW, combinations with F6 and F10 are often accessibility shortcuts.

Yes, but the Key_F6,Key_MOD1,Key_SHIFT is *not* a VCL reserved shortcut as listed in ReservedKeys[] array in svapp.cxx [1]; just Key_F6,Key_MOD1 is on the reserved list.

Also, think the svapp.cxx only defines reserved two-key sequences, so why is the three-key sequence showing as reserved? Suspect a logic error (handling of both Key_SHIFT and Key_MOD1) in assigning it as reserved in acccfg.cxx [2]?

=-ref-=
[1] https://opengrok.libreoffice.org/xref/core/vcl/source/app/svapp.cxx?r=e1c59fd5#99 and at #307
[2] https://opengrok.libreoffice.org/xref/core/cui/source/customize/acccfg.cxx?r=fa869ef6#1067
Comment 4 Heiko Tietze 2024-04-29 09:08:38 UTC
Reminds me on bug 146906 comment 23. And there is

ScGridWindow::KeyInput()

#ifdef DBG_UTIL

    if (rKeyCode.IsMod1() && rKeyCode.IsShift())
...
        else if (rKeyCode.GetCode() == KEY_F6)


It looks like a bug when reserved keys are ctrl+F6 and shift+f6 making ctrl+shift+f6 disabled too. Test-wise I commented out vcl::KeyCode(KEY_F6,KEY_MOD1) and could assign a command to ctrl+shift+f6.

Ultimately we should not have any hard-coded key and show the actual assignment in the customization dialog.
Comment 5 V Stuart Foote 2024-04-29 11:32:16 UTC
(In reply to Heiko Tietze from comment #4)
> Reminds me on bug 146906 comment 23. And there is
> 
> ScGridWindow::KeyInput()
> 
> #ifdef DBG_UTIL
> 
>     if (rKeyCode.IsMod1() && rKeyCode.IsShift())
> ...
>         else if (rKeyCode.GetCode() == KEY_F6)
> 
> 
> It looks like a bug when reserved keys are ctrl+F6 and shift+f6 making
> ctrl+shift+f6 disabled too. Test-wise I commented out
> vcl::KeyCode(KEY_F6,KEY_MOD1) and could assign a command to ctrl+shift+f6.
> 
> Ultimately we should not have any hard-coded key and show the actual
> assignment in the customization dialog.

OK, but there is a distinction to be made between shortcuts baked into UNO and other editshell based or VCL level shortcuts. Real issue is that the later shortcuts do not make it onto the customize dialog--even if non-editable.

Current "reserved" mechanism seems dated.