Bug 68754 - rs(cyralpha): The key (z on US keyboard) should give dze, but it gives zhe
Summary: rs(cyralpha): The key (z on US keyboard) should give dze, but it gives zhe
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
: 58975 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-08-30 13:57 UTC by Stefan Dirsch
Modified: 2013-10-10 15:42 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
u_zhe-dze.patch (975 bytes, patch)
2013-08-30 13:58 UTC, Stefan Dirsch
Details | Splinter Review
u_rs-cyralpha-The-key-z-on-US-keyboard-should-give-dze.patch (1.21 KB, patch)
2013-09-02 09:14 UTC, Stefan Dirsch
Details | Splinter Review

Description Stefan Dirsch 2013-08-30 13:57:43 UTC
The key (z on US keyboard) should give dze (Ѕ [capital] / ѕ) but it gives zhe (Ж [capital] / ж) I'm going to attach a patch to address this.
Comment 1 Stefan Dirsch 2013-08-30 13:58:47 UTC
Created attachment 84915 [details] [review]
u_zhe-dze.patch
Comment 2 Sergey V. Udaltsov 2013-09-01 00:05:20 UTC
$ git am ~/Downloads/u_zhe-dze.patch
Patch does not have a valid e-mail address.

Are your sure your patch is ok?
Comment 3 Stefan Dirsch 2013-09-02 09:13:31 UTC
You're right. I didn't generate the patch from git. I'm going to attach one generated from git.
Comment 4 Stefan Dirsch 2013-09-02 09:14:59 UTC
Created attachment 85047 [details] [review]
u_rs-cyralpha-The-key-z-on-US-keyboard-should-give-dze.patch

Does this look any better?
Comment 5 Sergey V. Udaltsov 2013-09-03 21:31:15 UTC
that is better! thanks!
Comment 6 Chusslove Illich 2013-09-05 07:46:04 UTC
What was the motivation for this change? Given that:

1) there is a reason why there are two ZHE keys on the rs layout;

2) this is how it has been for the past 10 years;

3) in that time, nobody ever proposed to do something else.

I can start to elaborate (1), but since that begins with "back in the
80's...", I think first the initial question should be answered.
Comment 7 Stefan Dirsch 2013-09-05 08:36:11 UTC
*** Bug 58975 has been marked as a duplicate of this bug. ***
Comment 8 Stefan Dirsch 2013-09-05 09:02:58 UTC
I believe Oliver used the layout from Wikipedia.

http://en.wikipedia.org/wiki/Keyboard_layout#Serbian_.28Cyrillic.29
http://en.wikipedia.org/wiki/File:QWERTZ_Srpska_tastatura.jpg

What puzzles me now:

"The Macedonian dze is on this keyboard despite not being used in Serbian Cyrillic ..."

I couldn't find a reference for serbian(cyrillic) layout having the ZHE key on two positions.

Maybe a reliable reference (at least for Windows) is:

  http://msdn.microsoft.com/de-de/goglobal/bb964651.aspx

I hope we won't get into political discussions here. ;-)
Comment 9 Chusslove Illich 2013-09-05 09:38:25 UTC
> [: Stefan Dirsch :]
> I hope we won't get into political discussions here. ;-)

Therefore let us look at it from the other side: considering the three
points I wrote, it is necessary to motivate the current change from a
technical standpoint.

> I believe Oliver used the layout from Wikipedia.

Used how? After using it, what brought him to propose this change?
Can Oliver come and talk with us? :)
Comment 10 Oliver Neukum 2013-09-09 09:28:33 UTC
(In reply to comment #9)
> > [: Stefan Dirsch :]
> > I hope we won't get into political discussions here. ;-)
> 
> Therefore let us look at it from the other side: considering the three
> points I wrote, it is necessary to motivate the current change from a
> technical standpoint.

1. You'd need to switch layouts to enter a word with DZE
2. It wastes a key
3. It is listed as such in the standard

> > I believe Oliver used the layout from Wikipedia.
> 
> Used how? After using it, what brought him to propose this change?
> Can Oliver come and talk with us? :)

IRC I presume. Certainly. Where to? I have no political intention here. It just deviates from the standard and looks senseless.
Comment 11 Chusslove Illich 2013-09-09 18:59:34 UTC
> [: Oliver Neukum :]
> IRC I presume. Certainly. Where to?

(I meant in this report. So that it remains documented.)

> [: Oliver Neukum :]
> I have no political intention here. It just deviates from the standard and
> looks senseless.

Ok. I still don't quite understand your motivation to look into this. From
your other points it seems to me that you are not a user of the rs layout.
So the best I can tell is that you wanted to improve XKB layouts in general,
and happened to stumble upon this oddity in the rs layout. If so, I would
have expected you to contact the authors, or at least some users, of the rs
layout before proposing a patch. (Maybe you did in fact try and got bounces,
e.g. my email address in symbols/rs was out of date.)

As for the reasons:

> 1. You'd need to switch layouts to enter a word with DZE

This is correct. But it is also correct that you'd need to switch layouts to
enter a word with YA, or SHCHA, or many other Cyrillic letter not present on
the layout that would be more likely to be needed than DZE. Furthermore, you
would also need to switch layouts to enter GJE or KJE, which you would need
whenever you would need DZE. Since none of these other letters are present
on the rs layout, there is not point in having DZE either.

> 3. It is listed as such in the standard

So, how did we come into this strange situation, and what is this standard?
Here the argument becomes necessarily political, as the cause to the effect
is political.

Once upon a time, there was a country named Yugoslavia. This country was
composed of several republics, which among themselves had the following
official languages on the republic level: Serbo-Croatian (also called
Croato-Serbian), Macedonian, and Slovenian. Serbo-Croatian was also the
official language of the country as whole. Serbo-Croatian was written in
Latin and Cyrillic alphabets, Slovenian only in Latin alphabet (somewhat
different from Serbo-Croatian Latin), and Macedonian only in Cyrillic
alphabet (somewhat different from Serbo-Croatian Cyrillic). Someone then had
a clever idea to define exactly two layouts, one Latin and one Cyrillic,
which would cover these three languages. On the surface this made sense,
because a keyboard producer could have provided exactly one key engraving
for the Yugoslavian market (with Latin and Cyrillic letters side by side, as
on today's non-Latin keyboards). This layout, naturally, was Serbo-Croatian
oriented. For Slovenian (Latin alphabet) it meant more letters then was
necessary, but it still made sense due to country-level official Serbo-
Croatian. For Macedonian, however, the Cyrillic layout was a wreck: of the
three specific Macedonian Cyrillic letters, GJE, KJE, and DZE, only DZE
could be typed normally; GJE and KJE had to be typed using dead-key system,
which made this layout non-touch typing friendly.

When Yugoslavia ceased to be, Macedonia introduced a sensible layout, where
all of GJE, KJE, DZE were normal keys. The space was made by dispensing with
Serbo-Croatian DJE and TSHE, which do not exist in Macedonian. In Serbia
(which was the primary user of Cyrillic-written Serbo-Croatian), there was
no move to do something with DZE, because while not useful to anybody (in
the sense of my reply to reason 1), it was also not bothering anybody. So,
DZE lingers on Windows systems as a curiosity of times past. (Note that
there is an XKB name for the DZE letter, it is Macedonia_DSE.)

> 2. It wastes a key

With the above I have explained why DZE on the rs layout is pointless, and
why putting anything else on this position does not waste anything. However,
this does not explain why having another ZHE there is sensible. For example,
it could have been left as a blank key instead.

The original (call it "primary") position of ZHE is on the physical key BKSL
(i.e. backslash/pipe on US layout), which is somewhat inconvenient. BKSL has
at least four different physical positions, depending on the shape and size
of the Enter key. Therefore, ZHE being a normal alphabet letter, the non-
moving key AB01 is a perfect place for it.

But, why then not move ZHE from BKSL to AB01 altogether? For one, obviously,
due to compatibility. Even disregarding that, it is expected that all the
letters in Serbo-Croatian Cyrillic (today called Serbian Cyrillic) have
their Serbo-Croatian Latin counterparts (those which exist) on the same key.
And in the Latin variant, one cannot place ZHE (i.e. Zcaron in its XKB name)
to AB01 because that would displace the Y letter.

In summary: not having DZE on AB01 does not inconvenience anyone; having ZHE
there is a convenience for those who type predominantly in Cyrillic; those
who type predominantly in Latin or in both scripts can continue to use the
BKSL position. Not a single complaint about this for the past 10 years. (As
compared to, for example, at least two discussions about adding various non-
Serbian Cyrillic letters on the third level, and even a discussion about
adding a variant with IPA counterparts to Serbian letters.)

Please, revert this patch.
Comment 12 Stefan Dirsch 2013-09-10 09:02:07 UTC
Well, about contacting rs keyboard users. Developers know developers and developers always use "us" keyboard layout - for each and everything, no matter in which country they are living. And if you really know regular computer users you're getting three different contradicting answers for their used keyboard layout when asking two different persons. ;-)

Indeed there are authors mentioned in the symbol file. Didn't notice this before. But usually the emails given there either bounce or the developer doesn't respond (inactive, no longer interested or even already dead).

Also, what's wrong with tracking the patch request via the freedesktop bugzilla? AFAIK, the bugzilla mails are forwarded to the mailing list, so active developers can see them.

I see your points. It's sad to see that the interests of the users of this keyboard layout are completely ignored by the keyboard vendors *and* Microsoft.
This is not, what one would have expected and in fact the reason for making this patch. To improve the layout, not to break it.

We might still need to apply this patch for openSUSE/SLE, since QA is usually done by people, which are not familiar with such situations (just verifying the hardware keyboard layout and maybe additionally the one that Microsoft purposes and Wikipedia). But of course this patch should be reverted upstream.

Question remains, how to improve the situation for the future. Convincing the
hardware keyboard users and/or Microsoft is probably out of question. The only
possibility I can see is by improving the abstract in Wikipedia.
Comment 13 Chusslove Illich 2013-09-10 10:17:34 UTC
> [: Stefan Dirsch :]
> Also, what's wrong with tracking the patch request via the freedesktop
> bugzilla? AFAIK, the bugzilla mails are forwarded to the mailing list, so
> active developers can see them.

This is a very specific case. Unlike a random software project,
XKeyboardConfig contributors are by definition many, all over the world, and
interested only in a small part of the project. It makes little sense for
each and every one of them to subscribe to all bug report notifications.
(What would be nice, if possible, is to have a per-layout component in
Bugzilla, and assign/let people assign themselves to the components they
wish to monitor.)

> I see your points. It's sad to see that the interests of the users of this
> keyboard layout are completely ignored by the keyboard vendors *and*
> Microsoft. This is not, what one would have expected and in fact the
> reason for making this patch. To improve the layout, not to break it.
> [...] Question remains, how to improve the situation for the future.
> Convincing the hardware keyboard users and/or Microsoft is probably out of
> question. The only possibility I can see is by improving the abstract in
> Wikipedia.

The "keyboard culture" in Serbia is at a low level. Majority of the people
type ASCII only, wherever they can; I suspect that many experience full-
alphabet typing like wearing a tie, something that is done only in Word when
writting a boring report. This holds doubly so for the Cyrillic script
(Latin script is in prevalent use in typing).

Nevertheless, there are people who want to be able to type at least all the
characters mentioned in the school-taught ortography, not all of which are
available on either Latin or Cyrillic Windows layouts for Serbia (primarily
various punctuation is missing). So, from time to time, people come up with
their own edits of the Windows layouts, attaching them to forum threads,
instructing others how to install them, and so on. This is happening for ten
years now, since I keep track of it. Whenever I saw such a discussion, I
used to tell people to write to the local Microsoft office in Serbia;
invariably, nothing changed in the subsequent Windows releases. Maybe
Microsoft awaits the new, post-Yugoslavian Serbian keyboard standard, while
the well-positioned IT people in Serbia who could propose one are busy
tweeting in ASCII.

All the while, the full ortography support is available to users of XKB-
using OSes. Admittedly, I've developed a sort of schadenfreude about this.

> We might still need to apply this patch for openSUSE/SLE, since QA is
> usually done by people, which are not familiar with such situations (just
> verifying the hardware keyboard layout and maybe additionally the one that
> Microsoft purposes and Wikipedia).

I think this is a wrong way to go about. You are chosing to believe your
own, company-internal estimates of foreign cultural artifacts, rather then
the actual local users; while being aware that the users have ample ability,
and exercise it, to improve their environment beyond what is possible with
closed-source software. In the case of the rs layout, a simple look at
XKeyboardConfig commit log and bug report history should have dissuaded the
QA personnel from taking action without consultation.

On a funny sidenote, I happen to use SLED at my workplace. So, eventually, I
will also be hit with the downstream-only "fix". There, you found your first
complaining customer :)
Comment 14 Stefan Dirsch 2013-09-10 11:04:05 UTC
You're overestimating the typical knowledge of a QA person. They usually don't know *anything* about a keyboard layout description file, let alone a source control system like git. They also wouldn't ever figure out, that xkeyboard-config is the component to look at.

The only thing they're doing is comparing the symbol printed on the physical keyboard, with the character, which is printed when pressing the key in a program like OpenOffice. If it doesn't match they report a bugreport.

So downstream needs to take a business decision here. Either do it right and spend hours and hours with the QA people (and I'm not talking about QA at SUSE, but QA e.g. at customers like HP) with no result at all, i.e. we would need to change it back again in the end, in order a product can be released. Or do it like the HW vendors and Microsoft are doing, the easy way, where *some* customers *might* complain.

> On a funny sidenote, I happen to use SLED at my workplace. So, eventually, I
> will also be hit with the downstream-only "fix". There, you found your first
> complaining customer :)

I would be happy to see this, since I believe this would be our first verified serbian-cyrillic keyboard user. ;-) But you're also the one, who can fix this for yourself in just a few seconds.
Comment 15 Chusslove Illich 2013-09-10 18:20:23 UTC
> [: Stefan Dirsch :]
> You're overestimating the typical knowledge of a QA person [...]

I err on the side of overestimating, rather than underestimating :) Yes, in
fact, from the start I guessed that what you have described is what had
happened. But I had to give it the benefit of the doubt.

Since the reasonable approach cannot be followed, the second best is to do
nothing at all; but apparently this is not possible either. Thus, in this
case, the QA process will have resulted in no improvement for any user, and
degradation for some users. This is something to ponder about.

> But you're also the one, who can fix this for yourself in just a few
> seconds.

Ah, now you overestimate the willingness of... kh, our itadmstr... kh,
posting under real name... But yes, I will manage :)
Comment 16 Oliver Neukum 2013-09-12 14:56:43 UTC
(In reply to comment #11)

> Ok. I still don't quite understand your motivation to look into this. From
> your other points it seems to me that you are not a user of the rs layout.

I use it in the rare instances I need to type something cyrillic. The close corespondance to the Latin layout makes  it the easiest to use choice.

> > 3. It is listed as such in the standard
> 
> So, how did we come into this strange situation, and what is this standard?
> Here the argument becomes necessarily political, as the cause to the effect
> is political.

I guess the standard was set long ago by a government body and is today perpetuated by Microsoft.
 
> on today's non-Latin keyboards). This layout, naturally, was Serbo-Croatian
> oriented. For Slovenian (Latin alphabet) it meant more letters then was
> necessary, but it still made sense due to country-level official Serbo-
> Croatian. For Macedonian, however, the Cyrillic layout was a wreck: of the
> three specific Macedonian Cyrillic letters, GJE, KJE, and DZE, only DZE
> could be typed normally; GJE and KJE had to be typed using dead-key system,
> which made this layout non-touch typing friendly.

The old story. A standards comittee screws up.

> In summary: not having DZE on AB01 does not inconvenience anyone; having ZHE
> there is a convenience for those who type predominantly in Cyrillic; those
> who type predominantly in Latin or in both scripts can continue to use the
> BKSL position. Not a single complaint about this for the past 10 years. (As
> compared to, for example, at least two discussions about adding various non-
> Serbian Cyrillic letters on the third level, and even a discussion about
> adding a variant with IPA counterparts to Serbian letters.)

Well, there is a subset of user/customers, who rarely talk to developers, but get upset when the symbol that is on their keyboard does not appear on their screen when they press that key.

> Please, revert this patch.

It looks like the standard, regardless how well it was intended, no longer, if it ever did, makes sense. However, the problem is that it is still what is documented everywhere else as the standard. It seems to me that the best solution would be to split the layout, eg. into legacy Yugoslav vs. modern Serbian with doubled zhe.
Comment 17 Chusslove Illich 2013-09-13 07:47:20 UTC
>> [: Chusslove Illich :]
>> Ok. I still don't quite understand your motivation to look into this.
>> From your other points it seems to me that you are not a user of the rs
>> layout.
>
> [: Oliver Neukum :]
> I use it in the rare instances I need to type something cyrillic. The
> close corespondance to the Latin layout makes it the easiest to use
> choice.

That is an interesting use, but not a proper argument for DZE alone. Because
even with DZE present, you would still be missing a good number of other
Cyrillic letters; at least 10 other Cyrillic letters from Slavic languages
not found in Serbian.

> [: Oliver Neukum :]
> It looks like the standard, regardless how well it was intended, no
> longer, if it ever did, makes sense. However, the problem is that it is
> still what is documented everywhere else as the standard. It seems to me
> that the best solution would be to split the layout, eg. into legacy
> Yugoslav vs. modern Serbian with doubled zhe.

This is something that seems quite reasonable to me too. With the proviso
that the default layout should remain the one which it was before this patch
was submitted. This because of 10 years of no complaints (I will keep
repeating this bit :)

In fact, after doing a more thorough search, I found there actually exist a
post-Yugoslavian standard (from 1993), that can be ordered by mail from the
Institute for Standardization of Serbia (http://www.iss.rs/). I plan to do
this in a few weeks from now, and then I would gladly submit a patch for the
layout variant that implements exactly that standard.
Comment 18 Benno Schulenberg 2013-09-14 09:37:45 UTC
The 2.10 release is only ten days away...  Maybe revert this patch before then?  Also because it breaks the consistency of the file: the variant rs(yz) no longer does what it says it does: swap Z and ZHE.
Comment 19 Stefan Dirsch 2013-09-14 18:24:11 UTC
Sure. Please go ahead!
Comment 20 Sergey V. Udaltsov 2013-09-28 21:20:07 UTC
Done.
Comment 21 Chusslove Illich 2013-10-10 15:42:36 UTC
I have obtained the mentioned last keyboard-related standard from 1993, as
well as the previous standard from 1987. Things turned out most interesting,
indeed.

Here is the 1993 standard Serbian Cyrillic layout:

http://caslav.gmxhome.de/misc/layout-cyr-jus-i-k1-015-en.html

and here is the 1987 standard Serbo-Croatian Cyrillic layout:

http://caslav.gmxhome.de/misc/layout-cyr-jus-i-k1-003-en.html

The notes below the titles are the options found in the standards
themselves, only slightly interpreted to match the XKB layout notation.

First, it can be seen that the Microsoft layout, based on which this bug
report was submitted, is actually a hybrid between the 1987 standard (levels
1 and 2, with exercised option 2) and the 1993 standard (level 3). Thus, the
Microsoft layout is not according to standard, although there is nothing to
my knowledge that uses the 1993 standard. There is no DZE (Ѕ) key in the
1993 standard.

Second, the 1993 standard shows a couple of same general ideas that we had
when we defined the XKB layout in 2003, oblivious of the standard. It moves
the ZHE (Ж) character from the BKSL key to the AB10 key, implicitly
recognizing (option 2) the elusivity of the BKSL key position. It duplicates
characters \ and |, in conjuction with possibly making the LSGT key empty
(option 1). It adds the ortographically proper double quotes. So, by a
striking coincidence, the current XKB layout is the actual better practical
cross between the 1987 and 1993 standards, compared to the Windows layout.

On the sidenote, there is a separate 1987 standard for Macedonian keyboard,
which I also obtained. It is clear to me now that there was no intention for
Macedonian to be inefficiently typed using the Serbo-Croatian Cyrillic
layout. This leaves the appearance of DZE and the note 1 in the 1987
standard a bit curious, but hey. I apologize to the nameless standards
editor from the past.

Overally, while somewhat a time sink, this whole exercise has brightened my
day. I will think a bit more of whether there is any point in providing the
1993 standard layout variant (if so, it will be only for the extras
section).


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.