diff --git a/Kernel/FileSystem/ProcFS.cpp b/Kernel/FileSystem/ProcFS.cpp index 33fda8a8c8..3fea02b45c 100644 --- a/Kernel/FileSystem/ProcFS.cpp +++ b/Kernel/FileSystem/ProcFS.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -85,6 +86,7 @@ enum ProcFileType { FI_Root_inodes, FI_Root_dmesg, FI_Root_interrupts, + FI_Root_keymap, FI_Root_pci, FI_Root_devices, FI_Root_uptime, @@ -372,6 +374,15 @@ Optional procfs$interrupts(InodeIdentifier) return builder.build(); } +Optional procfs$keymap(InodeIdentifier) +{ + KBufferBuilder builder; + JsonObjectSerializer json { builder }; + json.add("keymap", KeyboardDevice::the().keymap_name()); + json.finish(); + return builder.build(); +} + Optional procfs$devices(InodeIdentifier) { KBufferBuilder builder; @@ -1572,6 +1583,7 @@ ProcFS::ProcFS() m_entries[FI_Root_self] = { "self", FI_Root_self, false, procfs$self }; m_entries[FI_Root_pci] = { "pci", FI_Root_pci, false, procfs$pci }; m_entries[FI_Root_interrupts] = { "interrupts", FI_Root_interrupts, false, procfs$interrupts }; + m_entries[FI_Root_keymap] = { "keymap", FI_Root_keymap, false, procfs$keymap }; m_entries[FI_Root_devices] = { "devices", FI_Root_devices, false, procfs$devices }; m_entries[FI_Root_uptime] = { "uptime", FI_Root_uptime, false, procfs$uptime }; m_entries[FI_Root_cmdline] = { "cmdline", FI_Root_cmdline, true, procfs$cmdline };