lkml.org 
[lkml]   [2003]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjecthandling an oddball PS/2 keyboard
Hi,

I have a slightly odd PS/2 keyboard which I'm not quite sure of the best
way to handle. Its an NCD N-97, which shipped with some NCD X terminals
and also with some Mips workstations IIRC. Most of the keys produce the
normal scancodes, and most which don't can be fixed using setkeycodes.
However there are 2 keys which can't be made to work, which are F9 and
F10. The problem is that these produce raw scancodes 0x60 and 0x61,
which means the _release_ codes (setting the top bit) are 0xe0 and 0xe1.
Unfortunately on a normal PS/2 keyboard these are special prefixes, and
so pressing these keys usually ends up getting the keyboard driver into
a very confused state.

What would be the cleanest way of handling this? My quick and dirty plan
is to add a parameter to the atkbd module which just disables the
special handling of e0 and e1 (which from a cursory glance seems to be
pretty easy). However, I know that the NCD X terminals used to be able
to autodetect this keyboard. I'm guessing that they did this using the
ATKBD_CMD_GETID command, which on this keyboard returns 0xab85 (and the
comments in atkbd.c suggest that 0xab83 is normal). So the _really_ neat
way of handling this would be to match that ID and turn off the e0/e1
processing then (and it would also allow me to map the keys correctly
out-of-the box...).

So.. could I get a bunch of people to have a look in
/proc/bus/input/devices, and see what the 'Version' field for their
keyboard is? If it turns out that 0xab85 turns up on normal keyboards
then obviously I'll have to abandon the 2nd approach (or find another
way to ID it).

What chance would either of these approaches have of getting merged?

Cheers,

David

(please CC to me, I'm not currently subscribed...)

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

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