cocoa_key_to_anttweakbar_key.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef IGL_COCOA_KEY_TO_ANTTWEAKBAR_KEY_H
  2. #define IGL_COCOA_KEY_TO_ANTTWEAKBAR_KEY_H
  3. namespace igl
  4. {
  5. // Convert an unsigned char (like that from Cocoa apps) to AntTweakBar key
  6. // code.
  7. // See also: TranslateKey() in TwMgr.cpp in AntTweakBar source
  8. // Inputs:
  9. // key unsigned char key from keyboard
  10. // Returns int of new key code
  11. inline int cocoa_key_to_anttweakbar_key(int key);
  12. }
  13. // Implementation
  14. #include <AntTweakBar.h>
  15. inline int igl::cocoa_key_to_anttweakbar_key(int key)
  16. {
  17. // I've left commented the AntTweakBar key codes that correspond to keys I
  18. // don't have on my keyboard. Please fill this in if you have those keys
  19. switch(key)
  20. {
  21. case 127:
  22. return TW_KEY_BACKSPACE;
  23. case 9:
  24. return TW_KEY_TAB;
  25. //TW_KEY_CLEAR = 0x0c,
  26. case 3://ENTER
  27. case 13:
  28. return TW_KEY_RETURN;
  29. case 27:
  30. return TW_KEY_ESCAPE;
  31. case 32:
  32. return TW_KEY_SPACE;
  33. case 63272:
  34. return TW_KEY_DELETE;
  35. case 63232:
  36. return TW_KEY_UP;
  37. case 63233:
  38. return TW_KEY_DOWN;
  39. case 63235:
  40. return TW_KEY_RIGHT;
  41. case 63234:
  42. return TW_KEY_LEFT;
  43. //TW_KEY_INSERT,
  44. //TW_KEY_HOME,
  45. //TW_KEY_END,
  46. //TW_KEY_PAGE_UP,
  47. //TW_KEY_PAGE_DOWN,
  48. case 63236:
  49. return TW_KEY_F1;
  50. case 63237:
  51. return TW_KEY_F2;
  52. case 63238:
  53. return TW_KEY_F3;
  54. case 63239:
  55. return TW_KEY_F4;
  56. case 63240:
  57. return TW_KEY_F5;
  58. case 63241:
  59. return TW_KEY_F6;
  60. case 63242:
  61. return TW_KEY_F7;
  62. case 63243:
  63. return TW_KEY_F8;
  64. case 63244:
  65. return TW_KEY_F9;
  66. case 63245:
  67. return TW_KEY_F10;
  68. case 63246:
  69. return TW_KEY_F11;
  70. case 63247:
  71. return TW_KEY_F12;
  72. case 63248:
  73. return TW_KEY_F13;
  74. case 63249:
  75. return TW_KEY_F14;
  76. case 63250:
  77. return TW_KEY_F15;
  78. default:
  79. break;
  80. }
  81. return key;
  82. }
  83. #endif