From c05ab9c310424bdb90d91f35d74e6f1f54500d78 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 8 Nov 2017 15:15:24 +0100 Subject: [PATCH] drivers_managed-pc: propagate keyboard LEDs This patch supplements the drivers subsystem with the ability to propagate the global capslock and numlock states to PS/2 and USB HID keyboards. --- .../raw/drivers_managed-pc/drivers.config | 22 +++++++++----- .../drivers_managed-pc/input_filter.config | 30 +++++++++++++++++++ repos/gems/run/driver_manager.run | 22 ++++++++++++++ repos/gems/src/app/driver_manager/main.cc | 2 ++ 4 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 repos/gems/recipes/raw/drivers_managed-pc/input_filter.config diff --git a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config index 1669739039..3a0af7a8c9 100644 --- a/repos/gems/recipes/raw/drivers_managed-pc/drivers.config +++ b/repos/gems/recipes/raw/drivers_managed-pc/drivers.config @@ -139,13 +139,15 @@ - + + + @@ -162,21 +164,25 @@ + - - - - + + + + + + - - + + - + + diff --git a/repos/gems/recipes/raw/drivers_managed-pc/input_filter.config b/repos/gems/recipes/raw/drivers_managed-pc/input_filter.config new file mode 100644 index 0000000000..3b56908e8c --- /dev/null +++ b/repos/gems/recipes/raw/drivers_managed-pc/input_filter.config @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repos/gems/run/driver_manager.run b/repos/gems/run/driver_manager.run index 52392f5d2b..d63603cc18 100644 --- a/repos/gems/run/driver_manager.run +++ b/repos/gems/run/driver_manager.run @@ -10,6 +10,7 @@ create_boot_directory import_from_depot genodelabs/src/[base_src] \ genodelabs/pkg/drivers_managed-pc \ genodelabs/src/report_rom \ + genodelabs/src/dynamic_rom \ genodelabs/src/init install_config { @@ -48,6 +49,8 @@ install_config { + + @@ -59,6 +62,25 @@ install_config { + + + + + + + + + + + + + + + + + + + diff --git a/repos/gems/src/app/driver_manager/main.cc b/repos/gems/src/app/driver_manager/main.cc index 7b385a58d5..f0e36ecebc 100644 --- a/repos/gems/src/app/driver_manager/main.cc +++ b/repos/gems/src/app/driver_manager/main.cc @@ -477,6 +477,8 @@ void Driver_manager::Main::_generate_usb_drv_config(Reporter &usb_drv_config, xml.attribute("uhci", true); xml.attribute("ehci", true); xml.attribute("xhci", true); + xml.attribute("capslock_led", "rom"); + xml.attribute("numlock_led", "rom"); xml.node("hid", [&] () { }); xml.node("raw", [&] () { xml.node("report", [&] () { xml.attribute("devices", true); });