Web lists-archives.com

Re: dpkg-reconfigure keyboard-configuration (Swedish with "|")

On Fri 10 May 2019 at 15:45:34 (+0200), Erik Josefsson wrote:
> Thanks for helping me sort out my thoughts!

OK, but I don't claim any expertise here.

> Den 2019-05-06 kl. 22:42, skrev David Wright:
> > [Disclaimer: I'm not familiar with the Teres keyboard beyond looking at
> > https://www.olimex.com/Products/DIY-Laptop/SPARE-PARTS/TERES-006-Keyboard/
> > (assuming this is it), and I've no idea of what keys your USB keyboard
> > has, nor knowledge of Swedish keyboard conventions.]
> Yes, that's the Teres keyboard.
> The wikipedia picture ofISO/IEC 9995-3:2002 applied to the US keyboard
> layout has 3 keys to the left and 4 keys to the right of the spacebar.
> Teres has 4 keys to the left and 3 keys to the right, otherwise they
> look the same (also the print on the keys):
> https://en.wikipedia.org/wiki/ISO/IEC_9995#/media/File:KB_US-ISO9995-3.svg

No surprises there, then. I've never seen R-Win on any keyboards that
aren't full size, nor a laptop without a Fn key, usually on the left.

> This similarity makes me wonder why I cannot find any information from
> Olimex (or elsewhere) whether the Teres keyboard is fully compliant
> with the ISO standard that seems to be the one at hand (and which also
> seems current):
> https://www.iso.org/standard/57852.html
> If it was compliant, then I guess that would make an informed choice
> of "Keyboard model" easier than it is now.
> I also guess that compliance would not only mean that the number of
> keys, their relative positions and the print on the keycaps would be
> defined, but also, and more importantly, that the digital output would
> follow certain rules.

The only rule I know is that claiming compliance with standards can
cost serious money.

> And there's my major hick-up: 7 keys would be plenty if the output
> would suffice to consist of about 100 different signals since 2^7=128
> (to later map on characters, numbers and whatnot). 8 keys would be
> excessive. I do understand the historical reasons for 105 keys (or
> 80), but how they relate to what really matters (the digital output)
> is a mystery.

I don't think that these shifty keys are treated in such a logical
manner. I've always assumed that there's a keyboard controller chip
that's stamping "personality" on the keys, particularly Fn.

> It cannot really be physicality of the "Keyboard models", nor the
> (brand) names of the them, but rather the digital output that is
> defining whether one "Keyboard model" is different from the other. Or
> am I completely wrong here?
> If I am not wrong, the next question is if there are really 193
> different keyboard models in that sense?
> I mean, with the same keyboard layout (e.g. Finnish), how many of the
> 193 would give the exact same result on screen with one particular
> keyboard (e.g. the Teres laptop)?
> I guess more than two (which I now know is the case).

My own take: to be on that list, someone maintaining X has to obtain a
model of that keyboard to map out all the keys. By the time that's
been done, time has past and you likely will find that that model is
history as far as shopping is concerned. Unlike with kernel
development, there's not the pressure to keep up with new models as
they come out. Pruning the list of its older models is not a
priority either.

> > I guess that with only 80 keys on your keyboard, many of the
> > differences between these different models are dealing with keys you
> > simply don't have. I can use pc105 for all my laptop, however many
> > keys they have.
> As far as I can see, the "source code" to Teres' keyboard does not say
> anything about that, but the Schematics file lists 25 different keys
> (KBD_X0 to KBD_X16 and KBD_Y0 to KBD_Y7), and there is a micro
> controller ATMEGA16U4-AU.
> I'm fine with thinking that KBD_X0, KBD_X1 etc on the "inside" are
> connected to the 40 physical keys on the "outside". Actually with 23
> electronic keys to combine, it would be enough with an unique output
> per electronic key plus <Shift>, <AltGr> and <Shift>+<AltGr> to get 92
> different combinations. That should be enough, no?

Enough for what? I'm not sure what you mean. But as far as your use of
the keyboard is concerned, the keypresses have been through the
microprocessor, the kernel, and perhaps the xorg driver, so you're
not going to see any one-to-one mapping.

> > What's more important is the layout: for example a British layout
> > puts \| left of z, whereas a US one will make that key <> and the
> > \| will be 3 keys right of p. In response to that, and deleting
> > £, many of the other punctuation characters get shuffled around.
> > 
> > The "key that's missing" usually refers to that left-of-z key,
> > (i) because the fact that it's the only punctuation character
> > thereabouts makes it rather obvious that it's missing, (ii) small
> > US keyboards don't have it whereas British (and I assume many
> > European) ones usually do.
> > 
> > You mentioned your Scandinavian USB keyboard with it's "broken bar"
> > in that left-of-z position. The "broken" appearance has been a
> > traditional engraving on the pipe keycap for years and doesn't
> > have any particular significance significance: the key produces
> > pipe when typed normally (ie shifted).
> > 
> > I don't know how they decide which glyphs should be typed when
> > the AltGr key is used. Perhaps it's not too surprising that they
> > place ¦ on the | key as a mnemonic. To what end, who knows? The
> > glyph is virtually useless. But what does your USB keyboard produce
> > when you type this key with just shift pressed?
> The "missing left-of-z key" on my "scandinavian" USB-keyboard gives
> "<" with no key pressed, ">" with <Shift>, "|" with <AltGr> and "¦"
> with <AltGr>+<Shift>.

That suggests that the layout is more like a US than a British keyboard.

> It is a 5 dollar cheapest possible off the shelf keyboard . It says
> made in China and comes with spelling errors on the box. So it's
> probably not even made in China.
> But I have finally found that 102 and Finnish gives me the pipe with
> <i>+<AltGr>+<Shift>. So all is fine, except for that I don't
> understand why.

What, the USB keyboard? Is that because you have some Scandinavian
characters to the right of p? (A US keyboard would be expected to have
three punctuation characters there: []\ shifting to {}|.)

> I would have left it at that if it wasn't for my plan to introduce the
> Teres laptop as a DIY project in school. And I would be very unhappy
> with my answers to why I should choose 102 and Finnish if I was a
> student of mine.

Teaching moments?
. How many keyboard and laptop models have been released in, say, the
  last two decades?
. Are review models of them all loaned to kernel and X developers in
  a timely fashion?
. Are there people employed to keep up with specifying keyboard
  models, and who pays them?

Answers to questions like that might alleviate their dismay.

That's before you get into what DIY is all about. DIY can mean just
carrying out final assembly of a set of components that's been
tailored for just that process. OTOH it can mean reengineering items
for uses they weren't designed for. And anything in between.

We're used to this with software: no one has the programs, scripts
etc that I have on this computer. None of my computers was designed
to run linux. None of my laptops has every Fn key (the coloured ones)
operable as per the engraving on it (the so-called hot keys). They
were designed for Windows and, as far as current versions are
concerned, the models are long obsolete.

> Btw, I have found a recent bug report against the package
> keyboard-configuration complaining about translation errors wrt
> "Keyboard model" names, so I guess I could file a wish-list bug too:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924657

Sure, just don't hold your breath. It might be more profitable to
investigate how to redefine keys (VC and in X) to your liking.
Especially useful for alphabets having more than 26 letters.

For example, I append lines to /etc/console-setup/remap.inc to
do things like enhancing the navigation keys, and preventing
Alt-space from producing NO-BREAK SPACE (because it's too easy
to catch the Alt by mistake). Little things like that.
And in fvwm I have keys for audio control, taking screen shots,
capturing the screen as a movie, rotating the monitor with
xrandr, etc.