lkml.org 
[lkml]   [1999]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: keyboard scancodes
    From vojtech@suse.cz Wed Dec 15 10:12:28 1999

On Wed, Dec 15, 1999 at 05:29:56AM +0100, Andries.Brouwer@cwi.nl wrote:

> : Ok, here goes the Set2->Set1 (and also AT->XT) table:
>
> : AT XT AT XT AT XT AT XT AT XT
> : 00 ff 20 67 40 6b 60 55 80 ??
> : 01 43 21 2e 41 33 61 56 81 ??
> : 02 41 22 2d 42 25 62 77 82 ??
> : 03 3f 23 20 43 17 63 78 83 41
> : 04 3d 24 12 44 18 64 79 84 37
> ...
>
> Good! However, I find that 84 is translated as 54.

Yes, possible.

> # * Your view of Set1 must be very confused, because it's a Set1
> # translated by the Set2->Set1 translation by the i8042, which must
> # be a mess.
>
> Very useful in fact. That way I was able to verify almost all of the table
> you quoted from Gary J Konzak.

A way how to verify the table completely would be to attach a mouse
to the keyboard port, set in it echo mode (send 0xee), then send bytes,
and see what comes, the mouse echoes back everything except 0xec -
echo cancel.

I think you'll find different results for different i8042's with this,
and that's one of the reasons I speak about the warped glass ...

Because then you have to care not only about keyboard quirks, but also
about i8042's quirks, and the result if you combine them ...

Do you have any evidence for this?
I have never seen any evidence that the i8042 translation was not constant.

> P.S. Is it a 1-1 correspondence? Essentially, yes.
> The conversion table is a permutation on 01-7f.
> Remain 3 entries, one of which I disagree about with you, see above.
> The duplication of 41 at 02 and 83 causes problems for the keyboards
> that disregard the highest bit.

For some reason, most of the AT keyboards I have here generate 0x83 for
F7. Don't know why - the documented value is 0x02. But it's translated
correctly by the i8042.

> That is why the values of Set 3 for the keys 1 and 2 are anomalous.

Oops? They are not.

Yes, sorry, I meant `That is why the values of Set 1 for the keys "2" and "3"
are anomalous'. To be more precise, in all cases the release codes for
Set 1 and Set2 (both with translation) are equal, except for these two keys,
where Set 1 has release codes 0x41, 0x54 and Set 2 has release codes 0x83, 0x84.

You see that this means that you can remove almost all question marks
in your table. We know for example that 81 and 82 are translated as 81 and 82.
In other words, with very few exceptions the translation is the identity
on bytes with high bit set.

Andries

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.027 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site