6b3f4dc157
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
129 lines
1.9 KiB
Makefile
129 lines
1.9 KiB
Makefile
# Makefile for libsys
|
|
.include <bsd.own.mk>
|
|
|
|
LIB= sys
|
|
|
|
.include "arch/${MACHINE_ARCH}/Makefile.inc"
|
|
|
|
SRCS+= \
|
|
alloc_util.c \
|
|
assert.c \
|
|
asynsend.c \
|
|
ds.c \
|
|
env_get_prm.c \
|
|
env_panic.c \
|
|
env_parse.c \
|
|
env_prefix.c \
|
|
fkey_ctl.c \
|
|
getticks.c \
|
|
getsysinfo.c \
|
|
getuptime.c \
|
|
kernel_call.c \
|
|
kprintf.c \
|
|
kputc.c \
|
|
kputs.c \
|
|
optset.c \
|
|
panic.c \
|
|
safecopies.c \
|
|
sched_start.c \
|
|
sched_stop.c \
|
|
sef.c \
|
|
sef_init.c \
|
|
sef_liveupdate.c \
|
|
sef_ping.c \
|
|
sef_signal.c \
|
|
sqrt_approx.c \
|
|
stacktrace.c \
|
|
sys_abort.c \
|
|
sys_clear.c \
|
|
sys_cprof.c \
|
|
sys_diagctl.c \
|
|
sys_endsig.c \
|
|
sys_exec.c \
|
|
sys_exit.c \
|
|
sys_fork.c \
|
|
sys_getinfo.c \
|
|
sys_getsig.c \
|
|
sys_hz.c \
|
|
sys_irqctl.c \
|
|
sys_kill.c \
|
|
sys_mcontext.c \
|
|
sys_memset.c \
|
|
sys_padconf.c \
|
|
sys_physcopy.c \
|
|
sys_privctl.c \
|
|
sys_profbuf.c \
|
|
sys_runctl.c \
|
|
sys_safecopy.c \
|
|
sys_safememset.c \
|
|
sys_schedctl.c \
|
|
sys_schedule.c \
|
|
sys_setalarm.c \
|
|
sys_setgrant.c \
|
|
sys_settime.c \
|
|
sys_sigreturn.c \
|
|
sys_sigsend.c \
|
|
sys_sprof.c \
|
|
sys_statectl.c \
|
|
sys_stime.c \
|
|
sys_times.c \
|
|
sys_trace.c \
|
|
sys_umap.c \
|
|
sys_update.c \
|
|
sys_vircopy.c \
|
|
sys_vmctl.c \
|
|
sys_vsafecopy.c \
|
|
sys_vtimer.c \
|
|
sys_vumap.c \
|
|
taskcall.c \
|
|
tickdelay.c \
|
|
timers.c \
|
|
vm_brk.c \
|
|
vm_cache.c \
|
|
vm_exit.c \
|
|
vm_fork.c \
|
|
vm_info.c \
|
|
vm_map_phys.c \
|
|
vm_notify_sig.c \
|
|
vm_umap.c \
|
|
vm_procctl.c \
|
|
vprintf.c
|
|
|
|
.if ${MKPCI} != "no"
|
|
SRCS+= pci_attr_r16.c \
|
|
pci_attr_r32.c \
|
|
pci_attr_r8.c \
|
|
pci_attr_w16.c \
|
|
pci_attr_w32.c \
|
|
pci_attr_w8.c \
|
|
pci_del_acl.c \
|
|
pci_dev_name.c \
|
|
pci_find_dev.c \
|
|
pci_first_dev.c \
|
|
pci_get_bar.c \
|
|
pci_ids.c \
|
|
pci_init.c \
|
|
pci_next_dev.c \
|
|
pci_rescan_bus.c \
|
|
pci_reserve.c \
|
|
pci_set_acl.c \
|
|
pci_slot_name.c
|
|
.endif
|
|
|
|
.if ${MKCOVERAGE} != "no"
|
|
SRCS+= gcov.c \
|
|
sef_gcov.c
|
|
CPPFLAGS+= -DUSE_COVERAGE
|
|
.endif
|
|
|
|
.if ${USE_LIVEUPDATE} != "no"
|
|
CPPFLAGS+= -DUSE_LIVEUPDATE
|
|
.endif
|
|
|
|
.if ${USE_SYSDEBUG} != "no"
|
|
CPPFLAGS+= -DUSE_SYSDEBUG
|
|
.endif
|
|
|
|
CPPFLAGS.sched_start.c+= -I${NETBSDSRCDIR}
|
|
|
|
.include <bsd.lib.mk>
|