2003-02-11 16:51:55

by James Gibson Fusia

[permalink] [raw]
Subject: Keyboard Writing

I've read through the keyboard driver files (kd.h, keyboard*, pc_keyb*),
and come to the conclusion that you can't write to the keyboard. Get mode,
set mode, get leds, set leds, change keymap. But no write to keyboard.

I need to be able to re-program a keyboard from userspace, and this
involves sending certain keycodes to the keyboard via port manipulation
(set write bit, write, wait for write bit clear.. blah blah blah), and no
manipulation handles.

My question to you, then, is how do I add definitions for ioctl to be able
to write to the ps/2 keyboard from user-space? (the #defs for
KD(GET|SET)LED seem to be arbitrary and not related to 0x64).

Essentially, I would like to be able to treat the keyboard like a serial
port. Any docs you can point me at? (Yes, I've checked everything google
showed me and none of it seemed pertinent to physically writing to the
keyboard.)

Please respond directly to me, as I'm a bum and don't want to join the
kernel-dev list.
-James Gibson Fusia ([email protected])


2003-02-11 19:07:17

by stefan.eletzhofer

[permalink] [raw]
Subject: Re: Keyboard Writing

On Tue, Feb 11, 2003 at 12:01:38PM -0500, James Gibson Fusia wrote:
> I've read through the keyboard driver files (kd.h, keyboard*, pc_keyb*),
> and come to the conclusion that you can't write to the keyboard. Get mode,
> set mode, get leds, set leds, change keymap. But no write to keyboard.
>
> I need to be able to re-program a keyboard from userspace, and this
> involves sending certain keycodes to the keyboard via port manipulation
> (set write bit, write, wait for write bit clear.. blah blah blah), and no
> manipulation handles.
>
> My question to you, then, is how do I add definitions for ioctl to be able
> to write to the ps/2 keyboard from user-space? (the #defs for
> KD(GET|SET)LED seem to be arbitrary and not related to 0x64).
>
> Essentially, I would like to be able to treat the keyboard like a serial
> port. Any docs you can point me at? (Yes, I've checked everything google
> showed me and none of it seemed pertinent to physically writing to the
> keyboard.)
>
> Please respond directly to me, as I'm a bum and don't want to join the
> kernel-dev list.
> -James Gibson Fusia ([email protected])
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

Hi, I needed to do the same for one of my customer's embedded board, which has
some battery controller PIC attached to the PS/2 kbd.
I needed to access this PIC, but found no other way but copy the existing
keyboard driver and hack that one.

Cheers,
Stefan
--
Eletztrick Computing - Customized Linux Development
Stefan Eletzhofer
Gottlieb-Daimler-Strasse 10
88214 Ravensburg
GERMANY
http://www.eletztrick.de
http://hackkit.eletztrick.de
mailto://[email protected]
+49 751 35 44 112
+49 751 35 44 115 (FAX)