Hüseyin ASLITÜRK
174987f930
Kernel: Replace char and u8 data types to u32 for code point
...
Remove character property from event and add code_point property.
2020-06-16 13:15:17 +02:00
Hüseyin ASLITÜRK
b4577ffcf3
Kernel: KeyboardDevice, remove char mapping logic
...
Remove char mapping logic and constant character map.
2020-06-13 12:36:30 +02:00
Hüseyin ASLITÜRK
46b92fa173
Kernel: Add scancode value to KeyEvent
2020-06-03 21:52:40 +02:00
Andreas Kling
21d5f4ada1
Kernel: Absorb LibBareMetal back into the kernel
...
This was supposed to be the foundation for some kind of pre-kernel
environment, but nobody is working on it right now, so let's move
everything back into the kernel and remove all the confusion.
2020-05-16 12:00:04 +02:00
Conrad Pankoff
a3edeb5868
Kernel: Add explicit offset parameter to File::read etc
2020-04-10 11:59:30 +02:00
Andreas Kling
7d862dd5fc
AK: Reduce header dependency graph of String.h
...
String.h no longer pulls in StringView.h. We do this by moving a bunch
of String functions out-of-line.
2020-03-23 13:48:44 +01:00
Liav A
e880fe0765
Kernel: Use a const reference to RegisterState in IRQ handling
2020-03-19 15:48:00 +01:00
Liav A
bb9fba1fdd
KeyboardDevice: Use dbg() instead of dbgprintf()
2020-02-27 13:05:12 +01:00
Liav A
740534cd67
Kernel: Update system components to use the new IRQHandler class
2020-02-24 11:27:03 +01:00
Andreas Kling
e28809a996
Kernel: Add forward declaration header
2020-02-16 01:50:32 +01:00
Andreas Kling
a356e48150
Kernel: Move all code into the Kernel namespace
2020-02-16 01:27:42 +01:00
Liav A
e559af2008
Kernel: Apply changes to use LibBareMetal definitions
2020-02-09 19:38:17 +01:00
Andreas Kling
e64c335e5a
Revert "Kernel: Replace IRQHandler with the new InterruptHandler class"
...
This reverts commit 6c72736b26
.
I am unable to boot on my home machine with this change in the tree.
2020-01-22 22:27:06 +01:00
Liav A
6c72736b26
Kernel: Replace IRQHandler with the new InterruptHandler class
...
System components that need an IRQ handling are now inheriting the
InterruptHandler class.
In addition to that, the initialization process of PATAChannel was
changed to fit the changes.
PATAChannel, E1000NetworkAdapter and RTL8139NetworkAdapter are now
inheriting from PCI::Device instead of InterruptHandler directly.
2020-01-22 12:22:09 +01:00
Liav A
2a160faf98
Kernel: Run clang-format on KeyboardDevice.cpp
2020-01-22 12:22:09 +01:00
Andreas Kling
94ca55cefd
Meta: Add license header to source files
...
As suggested by Joshua, this commit adds the 2-clause BSD license as a
comment block to the top of every source file.
For the first pass, I've just added myself for simplicity. I encourage
everyone to add themselves as copyright holders of any file they've
added or modified in some significant way. If I've added myself in
error somewhere, feel free to replace it with the appropriate copyright
holder instead.
Going forward, all new source files should include a license header.
2020-01-18 09:45:54 +01:00
Andreas Kling
673d789c39
Kernel: Make some static keyboard data const
...
This moves it to the kernel's .rodata section which we write protect in
MemoryManager initialization.
2020-01-09 16:23:45 +01:00
Tibor Nagy
624116a8b1
Kernel: Implement AltGr key support
2019-12-31 19:31:42 +01:00
Hüseyin ASLITÜRK
794ca16cca
Kernel: Implement the setkeymap() syscall.
2019-11-25 11:53:02 +01:00
Andreas Kling
1b2ef8582c
Kernel: Make File's can_read/can_write take a const FileDescription&
...
Asking a File if we could possibly read or write it will never mutate
the asking FileDescription&, so it should be const.
2019-11-04 14:03:14 +01:00
Nufflee
7b6aba4284
KeyboardDevice: Rename 0xe0 flag for clarity.
2019-10-17 23:39:24 +02:00
Nufflee
0979f372a6
KeyboardDevice: Support whole numpad and Num Lock.
...
We now support all numpad keys and the Num Lock key.
2019-10-17 23:39:24 +02:00
Nufflee
9d5792b73d
KeyboardDevice: Implement Caps Lock handling.
2019-10-17 23:39:24 +02:00
Conrad Pankoff
e4826276d1
Kernel: Don't forward hijacked keypresses in keyboard driver
2019-08-12 14:15:24 +02:00
Andreas Kling
a4548a150f
Kernel: Hack the default keymap to support UK pipe/backslash
...
Since this key number doesn't appear to collide with anything on the
US keymap, I was thinking we could get away with supporting a hybrid
US/UK keymap. :^)
2019-08-10 14:29:32 +02:00
Andreas Kling
9fdcede491
Kernel: Move PIC.cpp into Arch/i386/
2019-07-09 15:04:43 +02:00
Andreas Kling
27f699ef0c
AK: Rename the common integer typedefs to make it obvious what they are.
...
These types can be picked up by including <AK/Types.h>:
* u8, u16, u32, u64 (unsigned)
* i8, i16, i32, i64 (signed)
2019-07-03 21:20:13 +02:00
Andreas Kling
736092a087
Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h}
...
There's a ton of work that would need to be done before we could spin up on
another architecture, but let's at least try to separate things out a bit.
2019-06-07 20:02:01 +02:00
Andreas Kling
bc951ca565
Kernel: Run clang-format on everything.
2019-06-07 11:43:58 +02:00
Andreas Kling
08cd75ac4b
Kernel: Rename FileDescriptor to FileDescription.
...
After reading a bunch of POSIX specs, I've learned that a file descriptor
is the number that refers to a file description, not the description itself.
So this patch renames FileDescriptor to FileDescription, and Process now has
FileDescription* file_description(int fd).
2019-06-07 09:36:51 +02:00
Andreas Kling
8cbb7f101f
Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.
...
This will allow us to implement different behaviors depending on the role
of the descriptor a File is being accessed through.
2019-04-29 13:58:40 +02:00
Andreas Kling
f042b3adeb
Kernel: Make the right shift key work.
...
I never realized the right shift key wasn't hooked up since my left pinky
always hovers over the left shift key, ready to rock.
2019-04-23 20:47:45 +02:00
Andreas Kling
a58d7fd8bb
Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress.
2019-04-06 14:29:29 +02:00
Andreas Kling
ab43658c55
Kernel: Move devices into Kernel/Devices/.
2019-04-03 12:36:40 +02:00