Shortcut.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /*
  2. * Shortcut.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. enum class EShortcut
  12. {
  13. NONE,
  14. // preudo-shortcuts that trigger mouse events
  15. MOUSE_LEFT,
  16. MOUSE_RIGHT,
  17. MOUSE_CURSOR_X,
  18. MOUSE_CURSOR_Y,
  19. MOUSE_SWIPE_X,
  20. MOUSE_SWIPE_Y,
  21. // Global hotkeys that are available in multiple dialogs
  22. GLOBAL_ACCEPT, // Return - Accept query
  23. GLOBAL_CANCEL, // Escape - Cancel query
  24. GLOBAL_RETURN, // Enter, Escape - Close current window and return to previous view
  25. GLOBAL_FULLSCREEN, // F4 - TODO: remove hardcoded check for key
  26. GLOBAL_OPTIONS, // 'O' - Open System Options dialog
  27. GLOBAL_BACKSPACE, // Backspace - erase last symbol in text input
  28. GLOBAL_MOVE_FOCUS, // Tab - move focus to next text input
  29. // Movement hotkeys, usually - for moving through lists with slider
  30. MOVE_LEFT,
  31. MOVE_RIGHT,
  32. MOVE_UP,
  33. MOVE_DOWN,
  34. MOVE_FIRST,
  35. MOVE_LAST,
  36. MOVE_PAGE_UP,
  37. MOVE_PAGE_DOWN,
  38. // Element selection - for multiple choice dialog popups
  39. SELECT_INDEX_1,
  40. SELECT_INDEX_2,
  41. SELECT_INDEX_3,
  42. SELECT_INDEX_4,
  43. SELECT_INDEX_5,
  44. SELECT_INDEX_6,
  45. SELECT_INDEX_7,
  46. SELECT_INDEX_8,
  47. // Main menu hotkeys - for navigation between main menu windows
  48. MAIN_MENU_NEW_GAME,
  49. MAIN_MENU_LOAD_GAME,
  50. MAIN_MENU_HIGH_SCORES,
  51. MAIN_MENU_CREDITS,
  52. MAIN_MENU_BACK,
  53. MAIN_MENU_QUIT,
  54. MAIN_MENU_SINGLEPLAYER,
  55. MAIN_MENU_MULTIPLAYER,
  56. MAIN_MENU_CAMPAIGN,
  57. MAIN_MENU_TUTORIAL,
  58. MAIN_MENU_CAMPAIGN_SOD,
  59. MAIN_MENU_CAMPAIGN_ROE,
  60. MAIN_MENU_CAMPAIGN_AB,
  61. MAIN_MENU_CAMPAIGN_CUSTOM,
  62. // Game lobby / scenario selection
  63. LOBBY_BEGIN_STANDARD_GAME, // b
  64. LOBBY_BEGIN_CAMPAIGN, // Return
  65. LOBBY_LOAD_GAME, // l, Return
  66. LOBBY_SAVE_GAME, // s, Return
  67. LOBBY_RANDOM_MAP, // Open random map tab
  68. LOBBY_HIDE_CHAT,
  69. LOBBY_ADDITIONAL_OPTIONS, // Open additional options tab
  70. LOBBY_SELECT_SCENARIO, // Open map list tab
  71. // In-game hotkeys, require game state but may be available in windows other than adventure map
  72. GAME_END_TURN,
  73. GAME_LOAD_GAME,
  74. GAME_SAVE_GAME,
  75. GAME_RESTART_GAME,
  76. GAME_TO_MAIN_MENU,
  77. GAME_QUIT_GAME,
  78. GAME_OPEN_MARKETPLACE,
  79. GAME_OPEN_THIEVES_GUILD,
  80. GAME_ACTIVATE_CONSOLE, // Tab, activates in-game console
  81. // Adventure map screen
  82. ADVENTURE_GAME_OPTIONS, // 'o', Open CAdventureOptions window
  83. ADVENTURE_TOGGLE_GRID, // F6, Toggles map grid
  84. ADVENTURE_TOGGLE_SLEEP, // Toggles hero sleep status
  85. ADVENTURE_SET_HERO_ASLEEP, // Moves hero to sleep state
  86. ADVENTURE_SET_HERO_AWAKE, // Move hero to awake state
  87. ADVENTURE_MOVE_HERO, // Moves hero alongside set path
  88. ADVENTURE_VISIT_OBJECT, // Revisits object hero is standing on
  89. ADVENTURE_VIEW_SELECTED,// Open window with currently selected hero/town
  90. ADVENTURE_NEXT_TOWN,
  91. ADVENTURE_NEXT_HERO,
  92. ADVENTURE_NEXT_OBJECT, // TODO: context-sensitive next object - select next hero/town, depending on current selection
  93. ADVENTURE_FIRST_TOWN, // TODO: select first available town in the list
  94. ADVENTURE_FIRST_HERO, // TODO: select first available hero in the list
  95. ADVENTURE_VIEW_SCENARIO,// View Scenario Information window
  96. ADVENTURE_DIG_GRAIL,
  97. ADVENTURE_VIEW_PUZZLE,
  98. ADVENTURE_VIEW_WORLD,
  99. ADVENTURE_VIEW_WORLD_X1,
  100. ADVENTURE_VIEW_WORLD_X2,
  101. ADVENTURE_VIEW_WORLD_X4,
  102. ADVENTURE_TRACK_HERO,
  103. ADVENTURE_TOGGLE_MAP_LEVEL,
  104. ADVENTURE_KINGDOM_OVERVIEW,
  105. ADVENTURE_QUEST_LOG,
  106. ADVENTURE_CAST_SPELL,
  107. ADVENTURE_THIEVES_GUILD,
  108. ADVENTURE_EXIT_WORLD_VIEW,
  109. ADVENTURE_ZOOM_IN,
  110. ADVENTURE_ZOOM_OUT,
  111. ADVENTURE_ZOOM_RESET,
  112. // Move hero one tile in specified direction. Bound to cursors & numpad buttons
  113. ADVENTURE_MOVE_HERO_SW,
  114. ADVENTURE_MOVE_HERO_SS,
  115. ADVENTURE_MOVE_HERO_SE,
  116. ADVENTURE_MOVE_HERO_WW,
  117. ADVENTURE_MOVE_HERO_EE,
  118. ADVENTURE_MOVE_HERO_NW,
  119. ADVENTURE_MOVE_HERO_NN,
  120. ADVENTURE_MOVE_HERO_NE,
  121. // Battle screen
  122. BATTLE_TOGGLE_QUEUE,
  123. BATTLE_USE_CREATURE_SPELL,
  124. BATTLE_SURRENDER,
  125. BATTLE_RETREAT,
  126. BATTLE_AUTOCOMBAT,
  127. BATTLE_END_WITH_AUTOCOMBAT,
  128. BATTLE_CAST_SPELL,
  129. BATTLE_WAIT,
  130. BATTLE_DEFEND,
  131. BATTLE_CONSOLE_UP,
  132. BATTLE_CONSOLE_DOWN,
  133. BATTLE_TACTICS_NEXT,
  134. BATTLE_TACTICS_END,
  135. BATTLE_SELECT_ACTION, // Alternative actions toggle
  136. BATTLE_TOGGLE_HEROES_STATS,
  137. LOBBY_ACTIVATE_INTERFACE,
  138. SPECTATE_TRACK_HERO,
  139. SPECTATE_SKIP_BATTLE,
  140. SPECTATE_SKIP_BATTLE_RESULT,
  141. // Town screen
  142. TOWN_OPEN_TAVERN,
  143. TOWN_SWAP_ARMIES, // Swap garrisoned and visiting armies
  144. // Creature & creature recruitment screen
  145. RECRUITMENT_MAX, // Set number of creatures to recruit to max
  146. RECRUITMENT_MIN, // Set number of creatures to recruit to min (1)
  147. RECRUITMENT_UPGRADE, // Upgrade current creature
  148. RECRUITMENT_UPGRADE_ALL, // Upgrade all creatures (Hill Fort / Skeleton Transformer)
  149. // Kingdom Overview window
  150. KINGDOM_HEROES_TAB,
  151. KINGDOM_TOWNS_TAB,
  152. // Hero screen
  153. HERO_DISMISS,
  154. HERO_COMMANDER,
  155. HERO_LOOSE_FORMATION,
  156. HERO_TIGHT_FORMATION,
  157. HERO_TOGGLE_TACTICS, // b
  158. HERO_BACKPACK,
  159. HERO_COSTUME_0,
  160. HERO_COSTUME_1,
  161. HERO_COSTUME_2,
  162. HERO_COSTUME_3,
  163. HERO_COSTUME_4,
  164. HERO_COSTUME_5,
  165. HERO_COSTUME_6,
  166. HERO_COSTUME_7,
  167. HERO_COSTUME_8,
  168. HERO_COSTUME_9,
  169. // Spellbook screen
  170. SPELLBOOK_TAB_ADVENTURE,
  171. SPELLBOOK_TAB_COMBAT,
  172. AFTER_LAST
  173. };