minix/include/minix
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
..
acpi.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
audio_fw.h libaudiodriver: use libchardriver 2014-03-01 09:04:51 +01:00
bdev.h Block protocol: add user endpoint to IOCTL request 2014-02-19 11:22:15 +01:00
bitmap.h smp: build fixes for CONFIG_SMP=y 2013-10-12 11:51:55 -04:00
blockdriver.h Block drivers: make IOCTL request unsigned long 2014-02-19 11:22:15 +01:00
blockdriver_mt.h libblockdriver: expose BLOCKDRIVER_MAX_DEVICES 2014-02-19 11:22:15 +01:00
board.h arm:determine board_id using bootargs.board_name 2013-12-17 11:32:38 +01:00
btrace.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
callnr.h VFS: add dupfrom(2) call 2014-03-01 09:04:54 +01:00
chardriver.h libchardriver: full API rewrite 2014-03-01 09:04:50 +01:00
clkconf.h i2c: initial bus drivers for am335x and dm37xx 2013-07-15 11:11:13 -04:00
com.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
config.h uname: normalize release and version 2014-03-01 09:04:55 +01:00
const.h arm:add board_id to machine to enable runtime configuration. 2013-12-03 09:19:25 +01:00
cpufeature.h SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
debug.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
devio.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
devman.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
dirent.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
dmap.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
driver.h Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
drivers.h moving prototypes to lib.h 2014-02-18 11:25:01 +01:00
drvlib.h Move SUB_PER_DRIVE definition into minix/drvlib.h 2014-02-19 11:21:56 +01:00
ds.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
endpoint.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
fb.h fb: introduce framebuffer support to Minix 2013-02-21 10:29:08 +00:00
fslib.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
gcov.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
gpio.h fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
hash.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
hgfs.h Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
i2c.h i2c: initial bus drivers for am335x and dm37xx 2013-07-15 11:11:13 -04:00
i2cdriver.h libi2cdriver: add functions for IC register access 2013-09-18 08:10:26 -04:00
input.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
inputdriver.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
ioctl.h Add VND driver, providing loopback devices 2014-03-01 09:04:54 +01:00
ipc.h Removing CSU patches 2014-02-18 11:25:02 +01:00
ipcconst.h machine/ipcconst.h for arch-specific constants 2012-08-27 19:46:41 -04:00
keymap.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
libminixfs.h 32 to 64 bits fsblkcnt_t and fsfilcnt_t. 2014-02-18 11:25:01 +01:00
log.h GPIO:further development 2013-02-06 16:07:43 +01:00
Makefile Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
minlib.h Removing obsolete _NBSD_LIBC define 2013-02-26 09:44:24 +00:00
mmio.h mmio: add 16-bit variants of read/write/set 2013-08-13 16:29:22 -04:00
mount.h Redo mount(2)/umount(2) ABI 2014-02-18 11:25:01 +01:00
mthread.h Removing obsolete _NBSD_LIBC define 2013-02-26 09:44:24 +00:00
netdriver.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
netsock.h libnetsock: use libchardriver 2014-03-01 09:04:51 +01:00
optset.h a bit more -Werror compatability 2013-08-20 11:37:40 +02:00
padconf.h arm:switch to dynamic configuration for the kernel. 2013-12-17 11:32:38 +01:00
param.h impove memory accounting 2013-02-11 19:31:57 +01:00
partition.h Rename "struct partition" to "struct part_geom" 2013-03-20 16:14:21 +00:00
paths.h Import NetBSD vndconfig(8) 2014-03-01 09:04:54 +01:00
portio.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
priv.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
procfs.h VFS: remove FP_BLOCKED_ON_DOPEN 2014-02-18 11:25:03 +01:00
profile.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
queryparam.h retire _ANSI and <minix/ansi.h> 2012-03-25 21:58:27 +02:00
reboot.h Move MINIX reboot definitions into minix/reboot.h 2013-03-20 16:50:01 +00:00
rs.h VM: support for shared call mask ACLs 2013-08-08 23:22:58 +02:00
safecopies.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
sched.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
sef.h SEF: add sef_cancel() 2012-04-09 16:35:57 +02:00
sffs.h Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
sound.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00
spin.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
sys_config.h VM: slight pagedir mapping generalization 2013-02-10 21:50:34 +01:00
sysinfo.h Implement support for getvfsstat(2) 2014-02-18 11:25:02 +01:00
syslib.h Kernel: make SIGKMESS target process list dynamic 2014-03-01 09:04:54 +01:00
sysutil.h vm: make WARNS=5 proof 2013-09-06 11:51:20 +02:00
termios.h Input infrastructure, INPUT server, PCKBD driver 2014-03-01 09:04:55 +01:00
timers.h Replacing timer_t by netbsd's timer_t 2014-03-01 09:04:54 +01:00
type.h arm:add board_id to machine to enable runtime configuration. 2013-12-03 09:19:25 +01:00
u64.h Replaced add64, add64u and add64ul with operators. 2013-11-13 13:11:33 +00:00
usb.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
usb_ch9.h Removing useless minix/types.h header 2012-12-07 13:58:06 +01:00
vbox.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vboxfs.h Add libvboxfs: VirtualBox shared folders library 2012-04-09 19:25:18 +02:00
vboxif.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vboxtype.h VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vfsif.h Make PFS backcalls regular VFS calls 2014-03-01 09:04:52 +01:00
virtio.h Alignement on netbsd types, part 1 2014-02-18 11:25:01 +01:00
vm.h VM: readd support for forgetting cached FS blocks 2014-03-01 09:04:53 +01:00
vtreefs.h Full switch to clang/ELF. Drop ack. Simplify. 2012-02-14 14:52:02 +01:00