20 #ifndef MACHINE_INPUT_MANAGER_H 21 #define MACHINE_INPUT_MANAGER_H 23 #include "pedigree/kernel/Spinlock.h" 24 #include "pedigree/kernel/compiler.h" 25 #include "pedigree/kernel/process/Semaphore.h" 26 #include "pedigree/kernel/processor/types.h" 27 #include "pedigree/kernel/utilities/List.h" 28 #include "pedigree/kernel/utilities/new" 40 const static int Key = 1;
41 const static int Mouse = 2;
42 const static int Joystick = 4;
43 const static int RawKey = 8;
44 const static int MachineKey = 16;
45 const static int Unknown = 255;
47 typedef int CallbackType;
113 void keyPressed(uint64_t key);
117 void rawKeyUpdate(uint8_t scancode,
bool bKeyUp);
120 void machineKeyUpdate(uint8_t scancode,
bool bKeyUp);
124 ssize_t relX, ssize_t relY, ssize_t relZ, uint32_t buttonBitmap);
128 ssize_t relX, ssize_t relY, ssize_t relZ, uint32_t buttonBitmap);
131 void installCallback(
132 CallbackType filter, callback_t callback,
void *meta = 0,
133 Thread *pThread = 0, uintptr_t param = 0);
137 removeCallback(callback_t callback,
void *meta = 0,
Thread *pThread = 0);
142 bool removeCallbackByThread(
Thread *pThread);
145 static int trampoline(
void *ptr);