keypress.h 997 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #ifndef KEYPRESS_H
  3. #define KEYPRESS_H
  4. #include <stdlib.h>
  5. #include "../base/os.h"
  6. #include "../base/types.h"
  7. #include "keycode.h"
  8. #include <stdbool.h>
  9. #if defined(IS_MACOSX)
  10. typedef enum {
  11. MOD_NONE = 0,
  12. MOD_META = kCGEventFlagMaskCommand,
  13. MOD_ALT = kCGEventFlagMaskAlternate,
  14. MOD_CONTROL = kCGEventFlagMaskControl,
  15. MOD_SHIFT = kCGEventFlagMaskShift
  16. } MMKeyFlags;
  17. #elif defined(USE_X11)
  18. enum _MMKeyFlags {
  19. MOD_NONE = 0,
  20. MOD_META = Mod4Mask,
  21. MOD_ALT = Mod1Mask,
  22. MOD_CONTROL = ControlMask,
  23. MOD_SHIFT = ShiftMask
  24. };
  25. typedef unsigned int MMKeyFlags;
  26. #elif defined(IS_WINDOWS)
  27. enum _MMKeyFlags {
  28. MOD_NONE = 0,
  29. /* These are already defined by the Win32 API */
  30. /* MOD_ALT = 0,
  31. MOD_CONTROL = 0,
  32. MOD_SHIFT = 0, */
  33. MOD_META = MOD_WIN
  34. };
  35. typedef unsigned int MMKeyFlags;
  36. #endif
  37. #if defined(IS_WINDOWS)
  38. /* Send win32 key event for given key. */
  39. void win32KeyEvent(int key, MMKeyFlags flags, uintptr pid, int8_t isPid);
  40. #endif
  41. #endif /* KEYPRESS_H */