Bug 106166 - German t3 layout improvements
Summary: German t3 layout improvements
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium enhancement
Assignee: xkb
QA Contact:
Depends on:
Reported: 2018-04-21 11:05 UTC by Alexander Roalter
Modified: 2018-09-26 23:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Diff between original /usr/share/X11/xkb/symbols/de and suggested modification (334 bytes, patch)
2018-04-21 11:05 UTC, Alexander Roalter
Details | Splinter Review
revert of prior fix, and fix for μ/µ situation. (668 bytes, patch)
2018-05-14 22:58 UTC, Alexander Roalter
Details | Splinter Review
revert of prior fix, and fix for μ/µ situation (2nd try, correct format) (2.05 KB, patch)
2018-05-14 23:04 UTC, Alexander Roalter
Details | Splinter Review
revert of prior fix, and fix for μ/µ situation (3rd try, using git diff) (2.10 KB, patch)
2018-05-14 23:17 UTC, Alexander Roalter
Details | Splinter Review
New T3 layout variant without duplicates (8.85 KB, patch)
2018-05-20 11:54 UTC, Alexander Roalter
Details | Splinter Review
keyboard layout of the “T3 no duplicates” variant (133.04 KB, image/png)
2018-05-20 11:55 UTC, Alexander Roalter

Description Alexander Roalter 2018-04-21 11:05:19 UTC
Created attachment 138977 [details] [review]
Diff between original /usr/share/X11/xkb/symbols/de and suggested modification

Currently, the T3 variant of german keyboard has some duplicate keys, especially on the 2nd group that are already covered by AltGr in the primary group. Examples:

dead_dotabove on W, dead_breve on E, dead_circumflex on R, dead_diaeresis on T etc.

While I don’t have a better idea for these keys (yet), would leaving them with currenly NoSymbol not be a better choice, to make it clear they could get a proper character/dead key later on?

One suggestion I already have, though:

The Key AD12 (german '+', US ']') currently has dead_tilde and dead_macron and the @ symbol on the 2nd group. Dead_tilde, dead_macron (and obviously @) are already present on the keyboard elsewhere, i would suggest putting the Dagger and Double Dagger symbol on the 5th and 6th level (and leave the 7th level NoSymbol)

affected file would be the xkb/symbols/de file.
Comment 1 Sergey V. Udaltsov 2018-04-22 15:31:51 UTC
Technically that is a minor change. But was it discussed anywhere with the users of that variant? Will there be confusion, complains?
Comment 2 Alexander Roalter 2018-04-22 18:26:52 UTC
I’m not aware of a forum for such discussions regarding an optional keyboard layout for the German language, otherwise I would have brought it up there (if someone knows one, please let me know).

I’m also not aware of an official documentation (other than the file itself) where a keyboard/key assignment is documented.

This change would replace the Macron deadkey, which is also reachable (much better) with AltGr+T and the tilde deadkey (also better reachable with AltGr+I) with the dagger (†). No secondary group keys are printed on the AD12 key in T2 and T3 layouts, so noone should expect the Macron/Tilde deadkeys there. The '+' looks a bit like '†', so placing it as a key from the secondary group would seem a sensible choice.
Comment 3 Alexander Roalter 2018-04-22 18:39:36 UTC
Another point (I don’t know if I should open another bug for this)... 
Upon reviewing the layout file, I saw that for the T3 layout the greek Mu was defined as Greek_mu instead of mu (in the latin base layout).

Writing something like μm or μg will then be a mix from characters of the greek plane and of the latin plane (GREEK SMALL LETTER MU), instead of using the µ symbol (MICRO SIGN) from the "Latin Supplement". 
That should also be changed
Comment 4 Sergey V. Udaltsov 2018-04-23 23:41:04 UTC
I committed your patch, let's see if anybody complains...
Comment 5 Andreas Wettstein 2018-04-25 18:49:22 UTC
> I committed your patch, let's see if anybody complains...

Here you go.  The DIN T3 layout is a DIN standard, and this patch violates the standard.  I personally think it is not a good idea to do this.

Regarding the duplications, T3 is really two layouts frankensteined together.  The first part (Level 1-3) is an extended German layout.  The second part (Level 5-7) is the ISO 9995-3 secondary group which is not specific to German.  I do not know why DIN decided that this is the way to go...

Regarding documentation, the best public resource are Karl Penzlin's pages, in particular, http://www.pentzlin.com/ErweiterungDeutscheTastatur2.pdf

Regarding improving T3, why not introduce and option and leave users the choice of DIN compliance or the improvements?
Comment 6 Alexander Roalter 2018-04-25 19:09:43 UTC
meh, then it’s really a messed up situation, with virtually all dead keys (and some regular characters) being present twice. 

Another thing though: where in the standard does it say the μ should be the Greek Mu (U+03BC) and not the MICRO SIGN µ (U+00B5)?
Can you give me at least that?
Comment 7 Andreas Wettstein 2018-04-26 18:06:54 UTC
> Another thing though: where in the standard does it say the μ should be the
> Greek Mu (U+03BC) and not the MICRO SIGN µ (U+00B5)?

I have not found any specifics for the μ on level 3.  For the μ on level 5, I found a document that says that it should be the the MICRO SIGN.  So indeed, we could change the μ on level 3 to keysym `mu`.
Comment 8 Sergey V. Udaltsov 2018-05-14 22:48:16 UTC
Andreas, Alexander, could you please come up with the patch that would make you both happy?
Comment 9 Alexander Roalter 2018-05-14 22:58:16 UTC
Created attachment 139569 [details] [review]
revert of prior fix, and fix for μ/µ situation.

to make Andreas happy, we should revert the patch, but in the next days I might submit a T2½ layout, which would consist of the T3 layout, but missing all the double entries (mostly dead-keys both in primary and secondary group), which then leaves place for future additions (just like †, ‡, ★ (all three could be used in genealogy), per mille sign (‰) etc. …)

Still, I would like to submit a fix as to use the µ sign (MICRO SIGN) instead of the greek lowercase letter Mu (μ).

That same patch would also revert the AB07 key to the prior (ISO conforming) state.
Comment 10 Sergey V. Udaltsov 2018-05-14 23:01:52 UTC
Sorry, your patch is in the wrong format, could you please do diff -u?
Comment 11 Alexander Roalter 2018-05-14 23:04:35 UTC
Created attachment 139570 [details] [review]
revert of prior fix, and fix for μ/µ situation (2nd try, correct format)

used correct diff command this time
Comment 12 Sergey V. Udaltsov 2018-05-14 23:11:04 UTC
Sorry, for some reason your patch (in correct format) does not apply to git...
Comment 13 Alexander Roalter 2018-05-14 23:17:33 UTC
Created attachment 139571 [details] [review]
revert of prior fix, and fix for μ/µ situation (3rd try, using git diff)

third time is a charm. 

Now I used git diff (and applied it to a fresh git clone of the xkeyboard-config project)… hopefully it works now.
Comment 14 Sergey V. Udaltsov 2018-05-14 23:36:27 UTC
Perfect, this time! Applied!
Comment 15 Alexander Roalter 2018-05-20 11:54:19 UTC
Created attachment 139647 [details] [review]
New T3 layout variant without duplicates

This introduces a new variant of the German T3 keyboard, leaving aside all duplicates found on the 2ndary group which are already covered by the primary group.

5 of the vacant spaces are filled by the dagger symbol (U+2020), double dagger symbol (U+2021), the star (U+2605), the card suits (U+2660, U+2665, U+2666, U+2663) in their black variant and the permille sign (U+2030)

four keys are in, which could be omitted:
> ¹ is still in, but since dead_circumflex plus any number provides the same, this one could go away, too.
> the division sign is also up for question, since a user should be able to create it with dead_stroke + colon (which is not the case at the moment, so it stays)
> the plus-minus sign could be similarly created by dead_stroke + plus_sign (similarly, the minus-plus sign by dead_macron + plus_sign)
> ʼn is marked as deprecated in the unicode standard and should always be replaced by ’n, so it could also be omitted

I’m not sure how to activate this layout. if I add it as a variant in base.xml.in, it still doesn’t work correctly... Am I missing something? And finally, the translations’ indexes: do they have to be counted manually (I see the T3 and similar are around 570 or so... or are there some tools to do that – because when I add a variant in between, all these numbers don’t match anymore)
Comment 16 Alexander Roalter 2018-05-20 11:55:06 UTC
Created attachment 139648 [details]
keyboard layout of the “T3 no duplicates” variant
Comment 17 Sergey V. Udaltsov 2018-09-26 22:32:40 UTC
Thank you Alexander for the new variant. But I am confused, why do we need so many t3 variants? Could they be consolidated?
Comment 18 Alexander Roalter 2018-09-26 23:01:11 UTC
I’m not sure about the possibility of merging, as the T3 layout is already standardized, but as Andreas Wettstein mentioned, by merging the extended german layout with ISO 9995-3. This leads to the fact that many of the dead keys (and some other keys) are there twice, which I thought would leave place for future additions (e.g. †, ‡, ★, ‰, ...)

I made my last post half a year ago and haven’t looked at it since, and it probably needs some polishing, as with the current implementation, I don’t see two different T3 layouts in the layout picker, that means something is missing...
Comment 19 Sergey V. Udaltsov 2018-09-26 23:06:07 UTC
Ok, I will wait for your new polished version then. Please include the patch for base.extras.xml.in as well

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.