mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 11:57:34 +00:00
Move WindowServer to userspace.
This is a monster patch that required changing a whole bunch of things. There are performance and stability issues all over the place, but it works. Pretty cool, I have to admit :^)
This commit is contained in:
parent
0b1b21d622
commit
640360e958
41 changed files with 325 additions and 463 deletions
|
@ -12,22 +12,7 @@ class KeyboardClient;
|
|||
class Keyboard final : public IRQHandler, public CharacterDevice {
|
||||
AK_MAKE_ETERNAL
|
||||
public:
|
||||
enum Modifier {
|
||||
Mod_Alt = 0x01,
|
||||
Mod_Ctrl = 0x02,
|
||||
Mod_Shift = 0x04,
|
||||
Is_Press = 0x80,
|
||||
};
|
||||
|
||||
struct Event {
|
||||
KeyCode key { Key_Invalid };
|
||||
byte character { 0 };
|
||||
byte flags { 0 };
|
||||
bool alt() const { return flags & Mod_Alt; }
|
||||
bool ctrl() const { return flags & Mod_Ctrl; }
|
||||
bool shift() const { return flags & Mod_Shift; }
|
||||
bool is_press() const { return flags & Is_Press; }
|
||||
};
|
||||
using Event = KeyEvent;
|
||||
|
||||
[[gnu::pure]] static Keyboard& the();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue