tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Sun keyboard on i386?
I have a desk on which (for reasons not immediately relevant) the main
head is an i386 machine (4.0.1). But this has meant I'm stuck using a
crappy peecee keyboard.
Today, I put together the interface electronics to put one of my good
(Sun type 3) keyboards on one of the serial ports. It works, in that a
program that talks to the serial port can speak the keyboard's protocol
and get keystrokes and suchlike.
I can, if I have to, bludgeon X into being such a program. But I
thought I would first try to use the existing kernel code for Sun
keyboards (which would, I would expect, have the additional advantage
of working in the text console). Looking at the kernel configs, I see
that on sparc64 (and on sparc, though the comments say it's just for
test building) kbd can attach at com, which is convenient because it's
exactly what I want to do. So I appended a handful of lines to my i386
machine's kernel config, mostly lifted from sparc64:
define firm_events
file dev/sun/event.c firm_events needs-flag
device kbd: firm_events, wskbddev
file dev/sun/kbd.c kbd needs-flag
file dev/sun/kbd_tables.c kbd
file dev/sun/wskbdmap_sun.c kbd & wskbd
attach kbd at com with kbd_tty
file dev/sun/sunkbd.c kbd_tty
file dev/sun/kbdsun.c kbd_tty
kbd0 at com0
I had to change an #include and remove another to get the kernel to
compile, and rip a little code out of kbd.c and sunkbd.c to get it to
link, but surprisingly little. Less than I was expecting.
(Specifically: in sunkbd.c, <machine/kbd.h> -> <sys/dev/kbd_reg.h>,
remove <machine/vuid_event.h>, and rip out both arms of the
if (args->kmta_consdev) test in sunkbd_attach(); in kbd.c, remove
sunkbd_wskbd_cn{getc,pollc,bell} and sunkbd_bell_off, remove
sunkbd_wskbd_consops and the code in kbd_enable that conditionally uses
it. Exact diffs available if anyone wants.)
But it doesn't work. I added a printf to sunkbd_match, and it's never
even getting called. Is there some kind person here who has any idea
why not and can point me in a useful direction? I daresay it's
something that will be blindingly obvious once I see it....
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index