Bug 71176 - Key combinations to easily insert accented Latin characters
Summary: Key combinations to easily insert accented Latin characters
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
4.1.2.3 release
Hardware: Other Windows (All)
: medium enhancement
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard:
Keywords: needsDevEval, needsUXEval
: 106312 112738 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-11-03 01:19 UTC by Óvári
Modified: 2017-09-29 13:44 UTC (History)
11 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 Óvári 2013-11-03 01:19:40 UTC
Problem description: 

Inputting international characters using non-local (eg. US) keyboard layout.  Languages with would benefit include: Magyar (Hungarian), polski (Polish), Spanish (español) and many more.

Implementing keyboard shortcuts throughout the LibreOffice suite (Writer, Calc, Base, Impress, Draw) would assist in editing documents in other languages where the language specific keyboard is not available.

Examples of keyboard shortcuts for variations on the letter 'o':
Ctrl+' o = ó
Ctrl+: o = ö
Ctrl+" o = ő
Ctrl+~ o = õ
Ctrl+` o = ò
Ctrl+^ o = ô
Ctrl+/ o = ø
Ctrl+˘ o = ŏ

Additional shortcuts include:
Ctrl+° a = å
Ctrl+Shift+& a = æ
Ctrl+, c = ç
Ctrl+- d = đ
Ctrl+Shift+& s = ß
Ctrl+Alt+Shift+? = ¿
Ctrl+Alt+Shift+! = ¡

Replacing the letter with another letter should enable the variation on that letter to work for all the lowercase letters of the alphabet.

To have a variation on an uppercase letter, the key sequence need only have an uppercase letter, eg.
Ctrl+' O = Ö
Ctrl+" O = Ő

Thank you for your wonderful office suite.


Steps to reproduce:
1. ....
2. ....
3. ....

Current behavior:
Nothing.

Expected behavior:
Described in problem description section.
Operating System: Windows 7
Version: 4.1.2.3 release
Comment 1 Yousuf Philips (jay) 2016-03-07 09:58:02 UTC
Hi Ovari,

I didnt get the concept here. Is it that some keyboard layouts have accented latin characters and you think we should map to those?
Comment 2 Óvári 2016-03-07 22:29:50 UTC
(In reply to Yousuf (Jay) Philips from comment #1)
> I didnt get the concept here. Is it that some keyboard layouts have accented
> latin characters and you think we should map to those?

This enhancement is about enabling keyboard layouts that do (eg Deutsch keyboard layout) or do not (eg English keyboard layout) have accented Latin characters to easily enter accented characters.

1. Press and hold          : Ctrl
2. Press                   : ‘
3. Release both Ctrl and ‘
4. Press and release       : a
5. The character shows     : á

For example the Magyar (Hungarian) alphabet includes the following characters:

Ctrl+’ a  =  á
Ctrl+’ e  =  é
Ctrl+’ i  =  í
Ctrl+: o  =  ö
Ctrl+’ o  =  ó
Ctrl+” o  =  ő
Ctrl+: u  =  ü
Ctrl+’ u  =  ú
Ctrl+” u  =  ű

Ctrl+’ A  =  Á
Ctrl+’ E  =  É
Ctrl+’ I  =  Í
Ctrl+: O  =  Ö
Ctrl+’ O  =  Ó
Ctrl+” O  =  Ő
Ctrl+: U  =  Ü
Ctrl+’ U  =  Ú
Ctrl+” U  =  Ű

These combinations also work in other office suites.

Please advise if you require any additional information.

Thank you
Comment 3 Yousuf Philips (jay) 2016-03-08 03:37:32 UTC
Thanks Ovari,

Quite a nice concept and it would make it easy for people who wanted latin characters to easily insert it, as the only other way i would think is from the special characters dialog.

So this enhancement is similar to bug 73691 which was fixed in 5.1 where you can easily add unicode characters with a key combination. I would assume it may have to be done in a similar way of first pressing the letter (e.g. a) and then pressing Ctrl+character (e.g. ctrl+').

@Maxim: Any thoughts?
Comment 4 Óvári 2016-03-08 05:26:56 UTC
(In reply to Óvári from comment #2)
Sorry, comment #2 was written incorrectly with ‘ instead of '. Should be:
1. Press and hold          : Ctrl
2. Press                   : '
3. Release both Ctrl and '
4. Press and release       : a
5. The character shows     : á

MS Word has implemented the above method for quite some time, i.e. Ctrl+' before the letter. Perhaps it could be added to your spreadsheet:
https://docs.google.com/spreadsheets/d/1AmDXLkQiFK5OcOrtuGn7iAcqp2Yhc_eNNnlADk-ji-U/

Bug 71176 enhancement is quicker than the:
* special characters dialog; and
* Unicode method (bug 73691) which is excellent. Also the Unicode method requires knowledge of the Unicode numbers for the characters.
Comment 5 V Stuart Foote 2016-03-08 13:57:11 UTC
Nice idea but this of course is very WE centric. 

By itself it does nothing for non-latin fonts, nor CTL nor Asian keyboard composition--but it could provide a framework to support various keyboard mappings for stackable Unicode entry.  Maybe better to be done as an adjunct to the Special Character font picker.

IMHO as proposed now, this would be equivalent to the OS X issue of bug 42437, except with OS X it *is* actually implemented by the OS with a consistent API that we don't implement--not the case with Windows where we'd have provide the entire framework.

In the general case of non-localized input, direct Unicode toggle ( bug 73691) and the Special Character dialog already provide means of character input in all language/keyboard environments--for all supported OS. That is appropriate, something this specific to a group of users--probably less so.
Comment 6 Óvári 2016-03-11 21:37:37 UTC
Perhaps the title for bug 71176 (enhancement) is incorrect as accented Latin characters are a subset of the cases covered.

Other scenarios are:
Ctrl+` Shift+,  =  «    { Note Shift+,  =  < }
Ctrl+` Shift+.  =  »    { Note Shift+.  =  > }

(In reply to V Stuart Foote from comment #5)
> Nice idea but this of course is very WE centric.
Please accept my apologies for this misunderstanding. This was not meant to be WE centric as explained in comment #0. This enhancement would benefit other languages including, but not limited to: polski (Polish), Spanish (español) and many more {eg. German (Deutsch), …}. This was a *generalised* description.

Yousuf (Jay) Philips comment #1 asked for further explanation, so a *specialised* example for the Magyar (Hungarian) scenario was provided.

As keyboard accelerators are available when using MS Word and MS Outlook on Windows, it is suggested to add:
1. this to:
https://docs.google.com/spreadsheets/d/1AmDXLkQiFK5OcOrtuGn7iAcqp2Yhc_eNNnlADk-ji-U/
2. Bug 71176 blocks bug 98259

Other non-Latin keyboard layouts could also benefit from this feature; however, I am currently not qualified to provide keyboard accelerator suggestions. Perhaps this could come from people who have experience with these layouts.

I have not been able to find documentation on this Easter egg (feature in computer program) in MS Office; however it could be implemented across all platforms supported by LibreOffice.

This enhancement may require a paradigm shift and I apologise in advance if my English explanation has not been clear enough.

Thank you
Comment 7 V Stuart Foote 2016-03-11 23:05:05 UTC
Well, in general the LibreOffice structure does a pretty poor job in integrating/supporting the various Input Method Editors (IME) in various OS implementations. Comment 5 for example regards an IME for Latin fonts on OS X (bug 42437).

A couple of good (if exhaustive) technical treatise of things we need to improve in LibreOffice to support non-localized keyboards are attached to bug 92655

Unfortunately that BZ issue was quashed as too broad before we got a chance to kick it around much--but it is germane to doing these one off implementations in that our VCL framework for handling non-local key entry needs refactoring.
Comment 8 Michael Meeks 2016-03-12 21:31:15 UTC
I'd love this to be either related to some suitable tracker bug linked from a new version of bug#92655 personally ...
Comment 9 Óvári 2016-06-15 22:52:13 UTC
Perhaps the below could be implemented into LibreOffice, instead of reinventing the wheel. What do you think?

Zombie Keys (Multilanguage Keyboard)
https://addons.mozilla.org/en-US/thunderbird/addon/zombie-keys/

by Realraven (Axel Grude)
https://addons.mozilla.org/en-US/thunderbird/user/kbolay/
Kai Bolay
https://addons.mozilla.org/en-US/thunderbird/user/realraven/

Enter accents, diacritics, diaeresis, umlauts, ligatures etc. with keyboards of various countries (us,uk,ie,fr,it,ru,de,sv) - via easy to remember shortcuts or menu. Also supports all textboxes of the application (such as search, filters).

This extension implements Microsoft's Keyboard shortcuts for international characters (http://office.microsoft.com/assistance/hfws.aspx?AssetID=HP051865621033), äñḍ ţḫėņ şøṁẹ mōřẹ ¡

Use Zombie Keys and bring dead keys to life!

For support please go to http://zombiekeys.mozdev.org/

Latest Betas / Prereleases: http://downloads.mozdev.org/zombiekeys/

This extension addresses Bug 270439 (https://bugzilla.mozilla.org/show_bug.cgi?id=270439).
Comment 10 V Stuart Foote 2016-06-15 23:52:16 UTC
(In reply to Óvári from comment #9)
> Perhaps the below could be implemented into LibreOffice, instead of
> reinventing the wheel. What do you think?
> 

Hmm, maybe. But then we would have the OS X camp complaining with bug 42437 that we aren't friendly to the "native" PressAndHold.app

And I still rather strongly feel that cross-platform enhancing the Special Character dialog is the better way to implement multi-script Unicode composition in an edit session rather than the limited range of glyph input offered by this, and similar IME.

Implementing a well structured recently used glyph feature in the Special Character dialog would be much more useful without the overhead of an IME.

=-ref-=
http://user-prompt.com/libreoffice-design-session-special-character/
https://drive.google.com/folderview?id=0B6qJrVIa0SAlcFV0Q2lWMmdUcW8&usp=sharing
Comment 11 Óvári 2016-06-16 03:50:30 UTC
(In reply to V Stuart Foote from comment #10)
> And I still rather strongly feel that cross-platform

Zombie Keys is a cross-platform solution (Windows, Linux, Mac) and multiple software (Firefox, Thunderbird, Postbox, …) as the video "Zombie Keys Release!" Published on Jun 12, 2016:
https://www.youtube.com/watch?v=L6im2iWSTIM

It provides speed as it can be totally used with the keyboard, similar to:
Emoji and in-word replacement support
https://wiki.documentfoundation.org/ReleaseNotes/5.0#Emoji_and_in-word_replacement_support

Thanks
Comment 12 Heiko Tietze 2016-06-16 08:18:22 UTC
The input method belongs to the OS/DE, in my opinion. At KDE you press the AltGr key (sometimes refered to as Right Alt) to enter æ (altgr+a) or ¿ (altgr+<shift>+?). You can also define a 'compose key' and press it while you enter the modifier first (like ^) and the target afterwards (like a) to get the â.

The alternate, office-like solution is to use the auto correct function (Tools > AutoCorrect > AutoCorrect options). It has the advantage of being language specific, so you would be bothered by the function when you switch back to your normal language (assuming that natives have access to the localized keyboard layout).

Another option is to introduce an extension, like Mozilla does. Extensions keep the main program clean and simple, foster the community work, and make the application more flexible so that Mac OS users wouldn't need to care. The extension could show a virtual keyboard that provides means to click the key and allows to set shortcuts for the frequently used items. If the user wants to set ctrl, which wouldn't be my first choice, is up to him or her.
Comment 13 Óvári 2016-06-17 02:26:56 UTC
(In reply to Heiko Tietze from comment #12)
> The input method belongs to the OS/DE, in my opinion.
Thank you Heiko Tietze for your fantastic suggestion that “the input method belongs to the OS/DE, in my opinion”. This would enable this to work across all applications.

How can GNOME and KDE be advised of this as:

The Document Foundation and GNOME Foundation to tighten their relationship, by exchanging seats in their Advisory Boards
https://blog.documentfoundation.org/blog/2016/06/16/the-document-foundation-and-gnome-foundation-to-tighten-their-relationship-by-exchanging-seats-in-their-advisory-boards/

KDE e.V. joins advisory board of The Document Foundation
https://blog.documentfoundation.org/blog/2016/06/16/kde-e-v-joins-advisory-board-of-the-document-foundation/

> The alternate, office-like solution is to use the auto correct function
> (Tools > AutoCorrect > AutoCorrect options).
From what LibreOffice currently provides, the current AutoCorrect is not able to handle this feature.
Comment 14 V Stuart Foote 2016-06-17 04:31:11 UTC
(In reply to Óvári from comment #13)
> (In reply to Heiko Tietze from comment #12)
> > The input method belongs to the OS/DE, in my opinion.
> Thank you Heiko Tietze for your fantastic suggestion that “the input method
> belongs to the OS/DE, in my opinion”. This would enable this to work across
> all applications.
> 
> How can GNOME and KDE be advised of this as:
> 
> The Document Foundation and GNOME Foundation to tighten their relationship,
> by exchanging seats in their Advisory Boards
> https://blog.documentfoundation.org/blog/2016/06/16/the-document-foundation-
> and-gnome-foundation-to-tighten-their-relationship-by-exchanging-seats-in-
> their-advisory-boards/
> 
> KDE e.V. joins advisory board of The Document Foundation
> https://blog.documentfoundation.org/blog/2016/06/16/kde-e-v-joins-advisory-
> board-of-the-document-foundation/
> 

Lovely sentiments, but absolutely no relevance to this issue. And I don't beleive Heiko was suggesting that as a potential means of addressing this. Rather he was suggesting that the OS/DE should provide the service--and we should facilitate that support in those that do.

Something we already accomplish for the IBUS IME.  Bug 42437 is in queue for the OS X PressAndHold.app, we've already implemented <alt>+X handling of Unicode input, and the Autocorrect based :emoji: entry.

A cross platform "deadkey" approach similar to PressAndHold is feasible--perhaps even using the Zombie Key's algorithms, but I still have heartburn that it is too Western European centric and that from the projects perspective across all supported languages and scripts that features of the Special Character dialog is the better investment of developer effort.
Comment 15 Heiko Tietze 2016-06-17 07:09:09 UTC
To make my point clear: We must not implement every feature into LibreOffice. It bloats the software, binds ressources, and spoils usability. If the OS/DE not provides means to deal with deadkeys (which is the preferred access) we should think about an extension (taking Mozilla as an example, or with a larger picture in mind the Eyecandy extension site https://www.opendesktop.org/).
Comment 16 Axel Grude 2016-06-24 12:06:55 UTC
(In reply to V Stuart Foote from comment #14)
> (In reply to Óvári from comment #13)
> 
> A cross platform "deadkey" approach similar to PressAndHold is
> feasible--perhaps even using the Zombie Key's algorithms, but I still have
> heartburn that it is too Western European centric and that from the projects
> perspective across all supported languages and scripts that features of the
> Special Character dialog is the better investment of developer effort.

Hello, I am the current developer of Zombie Keys and just wanted to say feel free to use my code for any LibreOffice extension. As a (Mozilla) XUL based addon I cannot say how universally applicable my code would be, but the heart of it is a key listener which is stored by a big JSON structure containing keyboard layouts and possible shortcuts. It may be a bit of work adding support for more (non-eastern European) languages, but it doesn't require development or rewrite of the actual algorithms. 

If there is somebody on the LibreOffice Addons team who would like to take on the task they can contact me for support. I won't have time to write (or even test) it myself though, as unfortunately I am still using MS Office myself. If you like I can attach the most relevant JS module. 

the code repository is at:

https://github.com/RealRaven2000/ZombieKeys
Comment 17 V Stuart Foote 2016-06-24 15:30:22 UTC
Hi Axel,

(In reply to Axel Grude from comment #16)

> Hello, I am the current developer of Zombie Keys and just wanted to say feel
> free to use my code for any LibreOffice extension. As a (Mozilla) XUL based
> addon I cannot say how universally applicable my code would be, but the
> heart of it is a key listener which is stored by a big JSON structure
> containing keyboard layouts and possible shortcuts. It may be a bit of work
> adding support for more (non-eastern European) languages, but it doesn't
> require development or rewrite of the actual algorithms. 
> 
> If there is somebody on the LibreOffice Addons team who would like to take
> on the task they can contact me for support. I won't have time to write (or
> even test) it myself though, as unfortunately I am still using MS Office
> myself. If you like I can attach the most relevant JS module. 
> 
> the code repository is at:
> 
> https://github.com/RealRaven2000/ZombieKeys

Thank you for the kind offer! Could you adjust the license to MPLv2/LGPLv3+, or better complete a contributor statement as at https://wiki.documentfoundation.org/Development/Developers

Are you sure we can't entice you to play :-)

@Michael M., Jan I. -- no doubt the need for better IME support such as this for "deadkeys" is real, but if we move forward with Heiko's assertion that enhancements such as this belong as bundled extensions to core--how best would we proceed?  A working .oxt demonstration first--or an ESC sponsored EasyHack with mentorship?

@UX-advise -- so where would a cross platform control for "deadkey" management best be inserted into the UI?  Somewhere to provide GUI assignments, and character mouse pick from a dialog, with option to enable "deadkey" keyboard accelerator mappings?  And potentially also provide a consistent GUI to hook other IME configuration(s) into? 

Seems like the framework to extend is already there with the Special Characters dialog.
Comment 18 Óvári 2016-06-24 23:18:47 UTC
(In reply to V Stuart Foote from comment #17)
> Thank you for the kind offer! Could you adjust the license to MPLv2/LGPLv3+,
> or better complete a contributor statement as at
> https://wiki.documentfoundation.org/Development/Developers
Added Axel Grude to CC as comment #17 from V Stuart Foote asked Axel Grude for a license adjustment or a contributor statement.
Comment 19 Axel Grude 2016-07-22 14:56:37 UTC
(In reply to V Stuart Foote from comment #17)
> Hi Axel,
> 
> (In reply to Axel Grude from comment #16)
> 
> > If there is somebody on the LibreOffice Addons team who would like to take
> > on the task they can contact me for support. I won't have time to write (or
> > even test) it myself though, as unfortunately I am still using MS Office
> > myself. If you like I can attach the most relevant JS module. 
> > 
> > the code repository is at:
> > 
> > https://github.com/RealRaven2000/ZombieKeys
> 
> Thank you for the kind offer! Could you adjust the license to MPLv2/LGPLv3+,
> or better complete a contributor statement as at
> https://wiki.documentfoundation.org/Development/Developers

The current license is GPL 3.0 - what else is needed? It should allow you to reuse all the code.

The Standard License choices on AMO are:
 	
    Mozilla Public License, version 2.0Details
    GNU General Public License, version 2.0Details
    GNU General Public License, version 3.0Details
    GNU Lesser General Public License, version 2.1Details
    GNU Lesser General Public License, version 3.0Details
    MIT/X11 LicenseDetails
    BSD LicenseDetails
    Other


> Are you sure we can't entice you to play :-)

I can help another developer maybe as adviser or to get them started but really do not have bandwidth to learn a full integration.
Comment 20 Óvári 2016-07-27 21:45:18 UTC
Added reference to:
https://www.mozdev.org/bugs/show_bug.cgi?id=26263
Comment 21 Óvári 2016-07-27 22:29:42 UTC
(In reply to Óvári from comment #20)
> Added reference to:
> https://www.mozdev.org/bugs/show_bug.cgi?id=26263
Axel Grude, the developer of a free Multilanguage Keyboard (called Zombie Keys), is currently implementing the magyar (Hungarian) locale.

Added magyar (Hungarian) developers to CC as you may be able to provide suggestions on the magyar (Hungarian) locale.

Axel Grude is also happy for this to be implemented in LibreOffice:
https://bugs.documentfoundation.org/show_bug.cgi?id=71176#c19

Thank you
Comment 22 Volga 2017-01-17 13:47:19 UTC
I think this can be implemented based on some Latin script based keyboard layouts [1], and adding an opeion for this.

Ref:
[1] https://en.wikipedia.org/wiki/Keyboard_layout
Comment 23 Volga 2017-01-28 17:14:05 UTC
Again, such key combinations based on known keyboard layouts should be intergrated into our language packs, and giving corresponding documents to users.
Comment 24 V Stuart Foote 2017-03-04 01:49:25 UTC
*** Bug 106312 has been marked as a duplicate of this bug. ***
Comment 25 V Stuart Foote 2017-09-29 13:44:31 UTC
*** Bug 112738 has been marked as a duplicate of this bug. ***