sortix-mirror/sortix
Jonas 'Sortie' Termansen ead0e1523f Refactored the kernel keyboard API, but kept system calls compatible.
Caps lock now works as caps lock, not as shift lock.

This new design will allow implementing a working tty, such that stdin is
the only way to access the keyboard, instead of the current hacky way of
using a special system call to read from the keyboard.

Added a new system header file <sys/keycodes.h> defining the constants for
every key on the keyboard. This will be used in future APIs.

The main change is to split the keyboard driver into a class that reads
from the keyboard, while another class handles the translation into
printable characters (if possible). This allows a terminal driver based
on logical key presses and printable characters, instead of a terminal
driver based only on unicode-ish codes.
2012-01-22 15:53:50 +01:00
..
fs Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
kb Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
x64 Fixed the horrible 'nofoo' bug! 2011-12-25 03:41:59 +01:00
x86 Removed the old unused interrupt 177. 2012-01-15 19:00:05 +01:00
x86-family Fixed the horrible 'nofoo' bug! 2011-12-25 03:41:59 +01:00
.gitignore Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
Makefile Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
ata.cpp Made detected ATA devices available as /dev/ataN block devices. 2012-01-08 14:21:36 +01:00
ata.h Implemented a simple ATA PIO Mode driver that can read and write. 2012-01-08 14:20:39 +01:00
bits.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
descriptor_tables.cpp Added support for 64-bit interrupts. 2011-11-30 23:30:14 +01:00
descriptor_tables.h Removed the old unused interrupt 177. 2012-01-15 19:00:05 +01:00
descriptors.cpp Fixed descriptors not being reset by SysExit. 2011-11-22 19:12:04 +01:00
descriptors.h Fixed descriptors not being reset by SysExit. 2011-11-22 19:12:04 +01:00
device.cpp Unrefing a device that has never been ref'd will also destroy it. 2011-11-17 23:14:45 +01:00
device.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
directory.cpp readdirents(2) now properly reports ERANGE. 2012-01-15 00:43:13 +01:00
directory.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
elf.cpp Fixed bad filename written in elf.cpp. 2011-12-16 15:35:45 +01:00
elf.h Program loader now sets the correct program segment type. 2011-12-16 15:33:12 +01:00
end.cpp Added a global variable at the end of the kernel to detect its size. 2011-12-23 13:09:09 +01:00
event.cpp Multiple threads can now wait on the same pipe. 2012-01-18 17:19:08 +01:00
event.h Multiple threads can now wait on the same pipe. 2012-01-18 17:19:08 +01:00
filesystem.cpp Added stubs for truncate(2) and ftruncate(3). 2012-01-14 16:37:21 +01:00
filesystem.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
initrd.cpp The initial ramdisk is now mapped onto a special location. 2011-12-22 14:13:18 +01:00
initrd.h The initial ramdisk is now mapped onto a special location. 2011-12-22 14:13:18 +01:00
interrupt.cpp Refactored Interrupt handlers to provide a user pointer. 2012-01-15 18:32:42 +01:00
interrupt.h Refactored Interrupt handlers to provide a user pointer. 2012-01-15 18:32:42 +01:00
io.cpp Added lseek(2). 2011-12-26 23:12:12 +01:00
io.h Added pipe(2), write(2), and read(2). 2011-11-16 21:21:38 +01:00
kbapiadapter.cpp Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
kbapiadapter.h Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
kernel.cpp Implemented a simple ATA PIO Mode driver that can read and write. 2012-01-08 14:20:39 +01:00
keyboard.cpp Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
keyboard.h Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
keycodes.h Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
log.cpp Ported kernel to new syscall API and started cleaning up the old one. 2011-10-27 00:20:28 +02:00
log.h Added a nice Log::PrintData function to the kernel. 2012-01-22 02:12:52 +01:00
memorymanagement.h The initial ramdisk is now mapped onto a special location. 2011-12-22 14:13:18 +01:00
mount.cpp Added devfs, with files /tty and /null and mounted it at /dev. 2011-11-21 21:49:13 +01:00
mount.h Mount-points are now handled properly within the kernel. 2011-11-21 19:39:13 +01:00
multiboot.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
mxfs.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
mxfs.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
panic.cpp Added O=-ON and PANIC_SHORT=1 variables to the makefile. 2011-11-28 15:25:00 +01:00
panic.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pci.cpp Implemented a simple ATA PIO Mode driver that can read and write. 2012-01-08 14:20:39 +01:00
pci.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pipe.cpp Multiple threads can now wait on the same pipe. 2012-01-18 17:19:08 +01:00
pipe.h Added pipe(2), write(2), and read(2). 2011-11-16 21:21:38 +01:00
platform.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
process.cpp Added getpagesize(2) with the new return type size_t. 2012-01-08 14:58:57 +01:00
process.h Program loader now sets the correct program segment type. 2011-12-16 15:33:12 +01:00
scheduler.cpp Made Sortix compatible with gcc 4.6.1. 2011-12-25 00:10:56 +01:00
scheduler.h Added the _exit() system call. 2011-11-05 20:19:36 +01:00
serialterminal.cpp Refactored the kernel keyboard API, but kept system calls compatible. 2012-01-22 15:53:50 +01:00
serialterminal.h VGA now sort-of works under serial-connections. 2011-12-05 21:44:14 +01:00
signal.cpp Initial signal support. Please squash improvements into this commit. 2011-11-23 00:19:09 +01:00
signal.h Initial signal support. Please squash improvements into this commit. 2011-11-23 00:19:09 +01:00
sound.cpp Ported kernel to new syscall API and started cleaning up the old one. 2011-10-27 00:20:28 +02:00
sound.h Ported kernel to new syscall API and started cleaning up the old one. 2011-10-27 00:20:28 +02:00
stream.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
syscall.cpp Made Sortix compatible with gcc 4.6.1. 2011-12-25 00:10:56 +01:00
syscall.h Added some support for blocking system calls in the kernel. 2011-11-07 00:48:20 +01:00
syscallnum.h Added stubs for truncate(2) and ftruncate(3). 2012-01-14 16:37:21 +01:00
system.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
thread.cpp Multiple threads can now wait on the same pipe. 2012-01-18 17:19:08 +01:00
thread.h Multiple threads can now wait on the same pipe. 2012-01-18 17:19:08 +01:00
time.cpp Removed the old unused interrupt 177. 2012-01-15 19:00:05 +01:00
time.h Refactored Interrupt handlers to provide a user pointer. 2012-01-15 18:32:42 +01:00
uart.cpp VGA now sort-of works under serial-connections. 2011-12-05 21:44:14 +01:00
uart.h Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
user.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
utf8.cpp Added a simple utf8 encoder in the kernel. 2012-01-22 00:56:58 +01:00
utf8.h Added a simple utf8 encoder in the kernel. 2012-01-22 00:56:58 +01:00
vga.cpp VGA now sort-of works under serial-connections. 2011-12-05 21:44:14 +01:00
vga.h Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
vgaterminal.cpp Fixed missing breaks in switch in vgaterminal.cpp. 2011-11-02 11:39:02 +01:00
vgaterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00