> kbdfs removes some code duplication like the > latin1 composing. vncs in 9front just runs another > instance of kbdfs to provide cons and kbd files > instead of reimplementing the kernels console code.
i found the major source of duplication was the n copies of (different!) scan code tables in the various /sys/src/9/*/kbd.c these differences appear to all be accidental. consolidating them into port/devpckb.c which provides both /dev/kbin and /dev/kbmap, and removing or reducing $arch/kbd.c to $arch/i8042.c got a lot of the cleanup done without breaking interfaces. it would be nice to get away from the annoying pc scan code interface, but the cost is going to be compatability, and that cost seems too much to me at this point. the only way to do something like this imo would be to agree and coordinate changes. /dev/kbd seems reasonable if you've got that kind of problem. but i don't see the benefit to using it where not formerly required, but i do see a compatibility downside. i also prefer having the keyboard in the kernel, since i do have kernels with no user space. norio(8) was written to deal with console interrupt for a particular project. think of it as rio with no graphics, and one pre-defined window. but i don't think it's a very good idea. there are better options. (like rio.) and yes, that's like, ya know, my opinion, man. so like, whatever. :-) - erik