Kernel: Implement unified input files for device hot-plugging support

/dev/keyboard and /dev/mouse can be read for events from any attached
keyboard or mouse respectively. This makes device hot-plugging support
pretty much automatic for TTY, GUI, and whatever takes input.
This commit is contained in:
2024-07-15 22:11:15 +03:00
parent 9d7f97ccd5
commit a5cb4057f9
7 changed files with 216 additions and 19 deletions

View File

@@ -205,9 +205,8 @@ static void init2(void*)
// Initialize empty keymap
MUST(LibInput::KeyboardLayout::initialize());
// FIXME: implement device hot plugging, so multiple devices is possible
//if (auto res = PS2Controller::initialize(); res.is_error())
// dprintln("{}", res.error());
if (auto res = PS2Controller::initialize(); res.is_error())
dprintln("{}", res.error());
MUST(NetworkManager::initialize());
@@ -216,9 +215,6 @@ static void init2(void*)
PCI::PCIManager::get().initialize_devices();
dprintln("PCI devices initialized");
// FIXME: This is very hacky way to wait until USB stack is initialized
SystemTimer::get().sleep(500);
VirtualFileSystem::initialize(cmdline.root);
dprintln("VFS initialized");