Bug 98255 - Excel keyboard shortcut bindings for Calc
Summary: Excel keyboard shortcut bindings for Calc
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: needsDevEval, topicUI
: 128247 (view as bug list)
Depends on:
Blocks: Shortcuts-Accelerators
  Show dependency treegraph
 
Reported: 2016-02-28 16:41 UTC by Yousuf Philips (jay) (retired)
Modified: 2019-10-19 19:27 UTC (History)
8 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 Yousuf Philips (jay) (retired) 2016-02-28 16:41:39 UTC
After learning about the ability to use the OO.o legacy keyboard shortcuts through Tools > Options > LibreOffice Calc > Compatibility in bug 97906, I felt it would be a good idea to provide Excel users with that ability to change Calc's default shortcuts to those found in Excel. This would reduce the barrier of entry for Excel shortcut/power users and make it easy for shortcut users who use both Excel and Calc on a regular basis.

Looking at Dennis's patch in bug 97906, it would be useful if the ScDocShell::ResetKeyBindings() function in sc/source/ui/docshell/docsh.cxx could load shortcuts from an external xml source, so that it is not hardcoded and easier to modify by non-programmers (like me :D). Here is an example for the shortcuts

 <node oor:name="KeyEvent">
   <node oor:name="aCtrlShiftF4">
     <prop oor:name="KeyCode" oor:type="xs:string">
       <value>F4</value>
     </prop>
     <prop oor:name="Modifiers" oor:type="xs:string">
       <value>MOD1</value>
       <value>SHIFT</value>
     </prop>
   </node>
 </node>

and here is an example for the bindings

 <node oor:name="Binding">
   <node oor:name="KEY_DEFAULT">
     <node oor:name="aDelete" oor:type="xs:string">
       <value>.uno:ClearContents</value>
     </node>
     <node oor:name="aBackspace" oor:type="xs:string">
       <value>.uno:Delete</value>
     </node>
     <node oor:name="aCtrlShiftF4" oor:type="xs:string">
       <value>.uno:ViewDataSourceBrowser</value>
     </node>
   </node>
 </node>

I'm currently gathering the list of Excel shortcuts and their associations with LO's UNO commands.
Comment 1 Óvári 2016-02-28 21:08:10 UTC
(In reply to Yousuf (Jay) Philips from comment #0)
> I'm currently gathering the list of Excel shortcuts and their associations
> with LO's UNO commands.

Please see Bug 96969 entire column selection keyboard shortcut to Ctrl+Space.

Thank you
Comment 2 Yousuf Philips (jay) (retired) 2016-02-29 09:25:00 UTC
So progress on getting the excel list can be found in the link below.

https://docs.google.com/spreadsheets/d/1AmDXLkQiFK5OcOrtuGn7iAcqp2Yhc_eNNnlADk-ji-U/edit?usp=sharing

@Eike: Do you had any thoughts on this enhancement?
Comment 3 Heiko Tietze 2016-02-29 12:25:29 UTC
I support the idea of having multiple configuration presets. We should consider to redefine LibO shortcuts for harmonization purpose and to make them different from Excel. I have something in mind like ctr+<number> for cell management and ctrl+<letter> for formatting. In other words, a generic shortcut guideline.
BTW: Incredible work, Jay.
Comment 4 V Stuart Foote 2016-02-29 16:30:58 UTC
If it can be reliably implemented, agree this would be a reasonable enhancement on both counts -- extending Kohei's 2010 framework and providing additional keyboard mappings beyond our LO Default and legacy OOo.

Adding support with key mappings from Excel, or QuatroPro, or Google Docs, or Numbers, or Gnumeric, etc. via the Tools -> Options -> LibreOffice Calc -> Compatibility panel.

And also, if the assignments made now in docsh.cxx [1] can be refactored to work from XML expect that would simplify managing the alternate compatibility mode--almost like skins. And would allow implementation/maintenance of more than just a mapping set for Excel.


=-ref-=
[1] http://opengrok.libreoffice.org/xref/core/sc/source/ui/docshell/docsh.cxx#2953
Comment 5 Yousuf Philips (jay) (retired) 2016-03-01 08:45:45 UTC
(In reply to Heiko Tietze from comment #3)
> I support the idea of having multiple configuration presets. We should
> consider to redefine LibO shortcuts for harmonization purpose and to make
> them different from Excel.

Totally agree.

> I have something in mind like ctr+<number> for
> cell management and ctrl+<letter> for formatting. In other words, a generic
> shortcut guideline.

Look forward to seeing your cell management shortcuts, as presently are were using only using Ctrl + Plus (insert cell) and Ctrl + Minus (delete cell). Ideally we'd need shortcuts to insert rows and columns, delete rows and columns, as well as hide and unhide rows and columns. From the ctrl+<number> entries, we are currently utilizing Ctrl + 1 (format cell), Ctrl + 2 (line spacing 2) and Ctrl + 5 (line spacing 1.5).

Regarding ctrl+<letter> for text formatting, we are already using alot of these, but it would be good to add and improve of them (e.g. Strike Through, Superscript, Subscript)

> BTW: Incredible work, Jay.

Thanks

(In reply to V Stuart Foote from comment #4)
> Adding support with key mappings from Excel, or QuatroPro, or Google Docs,
> or Numbers, or Gnumeric, etc. via the Tools -> Options -> LibreOffice Calc
> -> Compatibility panel.

I only plan to do Excel as Google Docs and Gnumeric are mimicking its key mapping, while most of QuatroPro's key mapping is identical to LO and it isnt very shortcut key driven.

> And also, if the assignments made now in docsh.cxx [1] can be refactored to
> work from XML expect that would simplify managing the alternate
> compatibility mode--almost like skins. And would allow
> implementation/maintenance of more than just a mapping set for Excel.

Would definitely make it easier for others to contribute other implementations for other apps.
Comment 6 Hillie 2016-05-02 12:12:56 UTC
(In reply to Yousuf (Jay) Philips from comment #0)
> After learning about the ability to use the OO.o legacy keyboard shortcuts
> through Tools > Options > LibreOffice Calc > Compatibility in bug 97906, I
> felt it would be a good idea to provide Excel users with that ability to
> change Calc's default shortcuts to those found in Excel. This would reduce
> the barrier of entry for Excel shortcut/power users and make it easy for
> shortcut users who use both Excel and Calc on a regular basis.

Great idea and I agree completly re barrier to entry!  I would add though, the only shortcut I really missed so far coming from Excel is the F4 for the repeat command.  Many of the other shortcuts are the same as Excel or they are better than the ones in Excel.  I especially love the menu system in Libreoffice vs the ribbon in Excel 2007 and newer.  Thanks!
Comment 7 Cor Nouws 2016-05-02 19:34:10 UTC
(In reply to Yousuf (Jay) Philips from comment #0)
> After learning about the ability to use the OO.o legacy keyboard shortcuts
> through Tools > Options > LibreOffice Calc > Compatibility in bug 97906, I
> felt it would be a good idea to provide Excel users with that ability to
> change Calc's default shortcuts to those found in Excel. This would reduce
> the barrier of entry for Excel shortcut/power users and make it easy for
> shortcut users who use both Excel and Calc on a regular basis.

Looks as a good idea.

(In reply to Yousuf (Jay) Philips from comment #5)
> Look forward to seeing your cell management shortcuts, as presently are were
> using only using Ctrl + Plus (insert cell) and Ctrl + Minus (delete cell).
> Ideally we'd need shortcuts to insert rows and columns, delete rows and
> columns, 

Lightning fast for me is Shft+SPACE followed by Ctrl++ / Ctrl+-

> Regarding ctrl+<letter> for text formatting, we are already using alot of
> these, but it would be good to add and improve of them (e.g. Strike Through,
> Superscript, Subscript)

When the discussion tends to include possible change/extend of current short cuts, there is the complicated validating of costs versus gains and desired when possible consistency over the various applications :)
(wishing our selves much luck and wisdom ;) )
Comment 8 Dan Dascalescu 2017-10-13 19:01:26 UTC Comment hidden (off-topic)
Comment 9 Dan Dascalescu 2017-10-13 19:04:47 UTC Comment hidden (off-topic)
Comment 10 Yousuf Philips (jay) (retired) 2017-10-13 20:56:58 UTC
(In reply to Dan Dascalescu from comment #9)
> Also, Alt+I, R works in Google Sheets.
>
> Would be nice to allow users to reuse their shortcut muscle memory.

You can customize the menu bar (Tools > Customize > Menus) if your prefer a different arrangement, but this bug is focused on keyboard shortcuts and not menu bar shortcuts. :D
Comment 11 V Stuart Foote 2019-10-19 19:27:48 UTC
*** Bug 128247 has been marked as a duplicate of this bug. ***