X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FInput%2FKeyboard%2Fmain.c;h=9c2e20e61bc4b44252cedcc20b2f423574557a78;hb=015f48988e0ff398409d71dfc692005ab439490a;hp=ccec8f5c4faeaa995ebaba6efb92b29d952b2b87;hpb=66cb73e82a05896035f605c96fde8b8a68e07bb9;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Input/Keyboard/main.c b/KernelLand/Modules/Input/Keyboard/main.c index ccec8f5c..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,11 +29,11 @@ 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); -// - User side +// - "User" side (Actually VT) int Keyboard_IOCtl(tVFS_Node *Node, int ID, void *Data); // - Device Side tKeyboard *Keyboard_CreateInstance(int MaxSym, const char *Name); @@ -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; }