minix/lib
David van Moolenbroek 6b3f4dc157 Input infrastructure, INPUT server, PCKBD driver
This commit separates the low-level keyboard driver from TTY, putting
it in a separate driver (PCKBD). The commit also separates management
of raw input devices from TTY, and puts it in a separate server
(INPUT). All keyboard and mouse input from hardware is sent by drivers
to the INPUT server, which either sends it to a process that has
opened a raw input device, or otherwise forwards it to TTY for
standard processing.

Design by Dirk Vogt. Prototype by Uli Kastlunger.

Additional changes made to the prototype:

- the event communication is now based on USB HID codes; all input
  drivers have to use USB codes to describe events;
- all TTY keymaps have been converted to USB format, with the effect
  that a single keymap covers all keys; there is no (static) escaped
  keymap anymore;
- further keymap tweaks now allow remapping of literally all keys;
- input device renumbering and protocol rewrite;
- INPUT server rewrite, with added support for cancel and select;
- PCKBD reimplementation, including PC/AT-to-USB translation;
- support for manipulating keyboard LEDs has been added;
- keyboard and mouse multiplexer devices have been added to INPUT,
  primarily so that an X server need only open two devices;
- a new "libinputdriver" library abstracts away protocol details from
  input drivers, and should be used by all future input drivers;
- both INPUT and PCKBD can be restarted;
- TTY is now scheduled by KERNEL, so that it won't be punished for
  running a lot; without this, simply running "yes" on the console
  kills the system;
- the KIOCBELL IOCTL has been moved to /dev/console;
- support for the SCANCODES termios setting has been removed;
- obsolete keymap compression has been removed;
- the obsolete Olivetti M24 keymap has been removed.

Change-Id: I3a672fb8c4fd566734e4b46d3994b4b7fc96d578
2014-03-01 09:04:55 +01:00
..
csu Removing CSU patches 2014-02-18 11:25:02 +01:00
libasyn No more intel/minix segments. 2012-07-15 22:30:15 +02:00
libaudiodriver Rewrite character driver protocol 2014-03-01 09:04:52 +01:00
libbdev libbdev: be less noisy about clean driver restarts 2014-03-01 09:04:53 +01:00
libblockdriver Rewrite character driver protocol 2014-03-01 09:04:52 +01:00
libbz2 Upgrading bzip2 2012-11-21 18:32:06 +01:00
libc Enable devname(3) 2014-03-01 09:04:53 +01:00
libchardriver Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
libclkconf arm:replace ifdef's by runtime checks. 2013-12-03 09:19:25 +01:00
libcompat_minix <a.out.h>, MINIX style: remove as obsolete 2013-08-06 11:43:35 +02:00
libcrypt Updating lib/libcrypt 2013-01-14 11:36:27 +01:00
libcurses Fix out of array bounds errors with -O3 2013-10-08 11:43:31 +02:00
libddekit Retire the synchronous character driver protocol 2014-02-18 11:25:02 +01:00
libdevman panic: declare as printf-style-checked 2013-05-31 13:35:25 +00:00
libedit fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
libelf libelf:use self hosted m4. 2013-04-24 17:22:59 +02:00
libexec Removing CSU patches 2014-02-18 11:25:02 +01:00
libfetch Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
libform Importing lib/libform 2013-11-12 07:56:07 -05:00
libgpio arm:fix GPIO revision check on DM37XX. 2014-01-20 09:33:16 +01:00
libhgfs Replaced add64, add64u and add64ul with operators. 2013-11-13 13:11:33 +00:00
libi2cdriver I2C: change BUSC_I2C_xxx to use own protocol 2014-02-18 11:25:03 +01:00
libinputdriver Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
liblwip fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
libm libm Makefile: typo (from NetBSD) 2013-08-05 23:57:26 +02:00
libmenu Importing lib/libmenu 2013-11-12 07:39:59 -05:00
libminc Add VND driver, providing loopback devices 2014-03-01 09:04:54 +01:00
libminixfs VM: readd support for forgetting cached FS blocks 2014-03-01 09:04:53 +01:00
libminlib VFS: add dupfrom(2) call 2014-03-01 09:04:54 +01:00
libmthread libmthread: do not dump stack for free threads 2014-02-18 11:25:03 +01:00
libnetdriver libnetdriver: only block datalink messages 2013-08-18 12:09:51 +02:00
libnetsock Rewrite character driver protocol 2014-03-01 09:04:52 +01:00
libprop a bit more -Werror compatability 2013-08-20 11:37:40 +02:00
libpuffs Fix various file system warnings 2014-02-18 11:25:02 +01:00
librefuse Let the build system manage compilation flags 2013-03-08 09:41:49 +01:00
librmt Fix warnings trivial warnings. 2013-01-14 11:44:31 +01:00
libsffs VFS/FS: replace protocol version with flag field 2014-02-18 11:25:02 +01:00
libsys Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
libterminfo Re-adding extended keys in minix termcap entry 2013-01-23 21:28:17 +01:00
libtimers Replacing timer_t by netbsd's timer_t 2014-03-01 09:04:54 +01:00
libusb panic: declare as printf-style-checked 2013-05-31 13:35:25 +00:00
libutil libutil: let opendisk(3) try /dev 2014-02-19 11:22:19 +01:00
libvassert No more intel/minix segments. 2012-07-15 22:30:15 +02:00
libvboxfs Replaced add64, add64u and add64ul with operators. 2013-11-13 13:11:33 +00:00
libvirtio Alignement on netbsd types, part 1 2014-02-18 11:25:01 +01:00
libvtreefs Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
libz Downgrading to netbsd zlib version 2013-04-09 16:43:13 +02:00
lua Importing NetBSD "Kyua" test framework 2013-07-23 20:43:41 +02:00
Makefile Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
Makefile.inc Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00