Bugs and improvements for Lithuanian keyboard layout

Bug #1922950 reported by Michael von Glasow
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmatekbd (Ubuntu)
New
Undecided
Unassigned

Bug Description

Having just switched to Lithuanian (US, with Lithuanian letters) as my keyboard layout, I have noticed that a few characters are woefully absent, while there is still some space on the keyboard.

For one, AltGr+Shift+Z and AltGr+Shift+X produce angle brackets rather than single guillemets – I believe this is a genuine bug.

As far as I understand, the European keyboard layouts in Ubuntu go beyond the lettering printed on the keyboard, by incorporating the secondary layer as defined in ISO 9995-3:2002, with a few modifications. At least, that is the case for the German keyboard, with which I am familiar, and the Lithuanian one also has many key mappings which seem to be taken from this standard. For further reading on ISO 9995 and key denominations, refer to https://en.wikipedia.org/wiki/ISO/IEC_9995.

The main challenge with the Lithuanian layout is that it needs to add an extra nine letters. These are placed on the number keys, which is consistent with hardware keyboards sold in LT. However, this conflicts with the following ISO mappings:
* Superscript digits 1–3
* Fractions
* Inverted exclamation mark
* Pound currency sign
* TM, +/-, degree
* Cedille/ogonek diacritic (dead key)

The DE layout (and possibly other European ones) has some extra additions, which LT also lacks:
* Foot and inch signs (on the E99 key)
* Common currency sign (on 4)
* Uppercase ß and long s (on S)
* Ellipsis (on .)
* Em dash (on _)

On the other hand, the secondary layer of the LT layout has some redundancies, partly due to being based on the US layout while ISO 9995 assumes a European layout (many of which place non-alphanumeric characters in similar positions):
* Parentheses on 9 and 0 (a doubling of the primary layer)
* Inverted upper double quotation marks (“) on both 0 and V
* @ on Q (already found on the primary layer)
* Ł on both W and L
* Uppercase E (a doubling of the primary layer)
* Uppercase and lowercase N (a doubling of the primary layer)

The secondary layer of J has hook and horn diacritics as dead keys. ISO 9995-3 does not include them, and no European language I know of uses them, so this would likely be a fairly exotic use case.

The secondary layer of the comma key is “horiz conn”: no idea what that means, and the key seems to do nothing when pressed alone, or followed by a letter or digit – so I guess we can reassign that one as well.

The B99 key is not found on US keyboards. Laptops sold in Lithuania almost consistently use the US layout (save for those with Cyrillic keyboards, which are also found in stores) and lack this key; external keyboards (at least some) have it. The standard LT layout uses it for \| (which doubles C12); I would recommend using it for seldom-used characters, or as a convenience key for hard-to-reach combinations.

Suggestions in detail:
* Place quotations marks (lower, inverted upper and upper) on V, B, N (as was done on DE), freeing up 9 and 0.
* Keep Ł on L only, freeing up W.
* Place § and long s on W, just above S, freeing up S
* Place uppercase ß on S, together with already-mapped lowercase ß.
* Place +/- and degree on 9 and 0 (with Shift), as in ISO.
* Place em dash on 0 (without Shift), next to hyphen/underscore/en dash.
* Place cedille and ogonek dead keys on J, keeping the two dead keys together.
* Place pound currency sign on E (with Shift), together with €.
* Place inverted exclamation mark on Q (without Shift), below the regular exclamation mark.
* Place ellipsis on comma, next to period.
* Place TM on 9 (without Shift), next to its position according to ISO.
* Place foot (no Shift) and inch (with Shift) on primary B99 layer, and common currency sign as secondary: that puts seldom-used, non-ISO characters on the key which not all keyboards have.

That leaves us with superscript digits and fractions: a total of 10 characters which no longer fit on the secondary layer. However, we might be able to keep them available with the trick of abusing some diacritics:
* ^ followed by the digit (0–9) will produce the corresponding superscript digit (as a memory aid, both ^ and superscript are used to express power).
* ¯ followed by a digit from 1 to 7 will produce the corresponding x/8 fraction, e.g. ¯4 for 1/2, which equals 4/8 (as a memory aid, ¯ resembles the fraction bar).

Revision history for this message
Michael von Glasow (michael-vonglasow) wrote :

PS: if you’d like me to report this upstream, a pointer to the upstream project (better yet, their bug tracker) would be very much appreciated.

Revision history for this message
Michael von Glasow (michael-vonglasow) wrote :
Norbert (nrbrtx)
tags: added: hirsute i18n impish
no longer affects: ubuntu-mate
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.