X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FInput%2FKeyboard%2Fmain.c;h=9c2e20e61bc4b44252cedcc20b2f423574557a78;hb=d8b31df1121ff75fe218f83574eb600c47f8d2d5;hp=93d8c6a3a8e8481047c4d894d125807b5efb5716;hpb=2667cb207a1aa17947b7ba582e1e2e3b9a9dea07;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Input/Keyboard/main.c b/KernelLand/Modules/Input/Keyboard/main.c index 93d8c6a3..9c2e20e6 100644 --- a/KernelLand/Modules/Input/Keyboard/main.c +++ b/KernelLand/Modules/Input/Keyboard/main.c @@ -16,6 +16,7 @@ #include #include "keymap_int.h" #include "layout_kbdus.h" +#include #define USE_KERNEL_MAGIC 1 @@ -28,7 +29,7 @@ extern void Heap_Stats(void); // === PROTOTYPES === int Keyboard_Install(char **Arguments); -void Keyboard_Cleanup(void); + int Keyboard_Cleanup(void); // - Internal tKeymap *Keyboard_LoadMap(const char *Name); void Keyboard_FreeMap(tKeymap *Keymap); @@ -67,9 +68,10 @@ int Keyboard_Install(char **Arguments) /** * \brief Pre-unload cleanup function */ -void Keyboard_Cleanup(void) +int Keyboard_Cleanup(void) { // TODO: Do I need this? + return 0; } // --- Map Management --- @@ -162,6 +164,15 @@ void Keyboard_HandleKey(tKeyboard *Source, Uint32 HIDKeySym) Uint32 flag; Uint8 layer; + if( !Source ) { + Log_Error("Keyboard", "Passed NULL handle"); + return ; + } + if( !Source->Node ) { + Log_Error("Keyboard", "Passed handle with NULL node"); + return ; + } + bPressed = !(HIDKeySym & (1 << 31)); HIDKeySym &= 0x7FFFFFFF; @@ -279,6 +290,8 @@ void Keyboard_HandleKey(tKeyboard *Source, Uint32 HIDKeySym) case 'p': Threads_Dump(); return; // Heap Statistics case 'h': Heap_Stats(); return; + // PMem Statistics + case 'm': MM_DumpStatistics(); return; // Dump Structure case 's': return; }