Shortcut.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  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. MAIN_MENU_CAMPAIGN_CHR,
  63. MAIN_MENU_CAMPAIGN_HOTA,
  64. MAIN_MENU_CAMPAIGN_WOG,
  65. MAIN_MENU_CAMPAIGN_VCMI,
  66. MAIN_MENU_HOTSEAT,
  67. MAIN_MENU_LOBBY,
  68. MAIN_MENU_HOST_GAME,
  69. MAIN_MENU_JOIN_GAME,
  70. HIGH_SCORES_CAMPAIGNS,
  71. HIGH_SCORES_SCENARIOS,
  72. HIGH_SCORES_RESET,
  73. HIGH_SCORES_STATISTICS,
  74. // Game lobby / scenario selection
  75. LOBBY_BEGIN_STANDARD_GAME, // b
  76. LOBBY_BEGIN_CAMPAIGN, // Return
  77. LOBBY_LOAD_GAME, // l, Return
  78. LOBBY_SAVE_GAME, // s, Return
  79. LOBBY_RANDOM_MAP, // Open random map tab
  80. LOBBY_TOGGLE_CHAT,
  81. LOBBY_ADDITIONAL_OPTIONS, // Open additional options tab
  82. LOBBY_SELECT_SCENARIO, // Open map list tab
  83. LOBBY_REPLAY_VIDEO,
  84. LOBBY_EXTRA_OPTIONS,
  85. LOBBY_TURN_OPTIONS,
  86. LOBBY_INVITE_PLAYERS,
  87. LOBBY_FLIP_COIN,
  88. LOBBY_RANDOM_TOWN,
  89. LOBBY_RANDOM_TOWN_VS,
  90. LOBBY_HANDICAP,
  91. LOBBY_CAMPAIGN_SETS,
  92. MAPS_SIZE_S,
  93. MAPS_SIZE_M,
  94. MAPS_SIZE_L,
  95. MAPS_SIZE_XL,
  96. MAPS_SIZE_ALL,
  97. MAPS_SORT_PLAYERS,
  98. MAPS_SORT_SIZE,
  99. MAPS_SORT_FORMAT,
  100. MAPS_SORT_NAME,
  101. MAPS_SORT_VICTORY,
  102. MAPS_SORT_DEFEAT,
  103. MAPS_SORT_MAPS,
  104. MAPS_SORT_CHANGEDATE,
  105. SETTINGS_LOAD_GAME,
  106. SETTINGS_SAVE_GAME,
  107. SETTINGS_NEW_GAME,
  108. SETTINGS_RESTART_GAME,
  109. SETTINGS_TO_MAIN_MENU,
  110. SETTINGS_QUIT_GAME,
  111. // In-game hotkeys, require game state but may be available in windows other than adventure map
  112. GAME_ACTIVATE_CONSOLE, // Tab, activates in-game console
  113. // Adventure map screen
  114. ADVENTURE_GAME_OPTIONS, // 'o', Open CAdventureOptions window
  115. ADVENTURE_TOGGLE_GRID, // F6, Toggles map grid
  116. ADVENTURE_TOGGLE_VISITABLE, // Toggles visitable tiles overlay
  117. ADVENTURE_TOGGLE_BLOCKED, // Toggles blocked tiles overlay
  118. ADVENTURE_TOGGLE_SLEEP, // Toggles hero sleep status
  119. ADVENTURE_SET_HERO_ASLEEP, // Moves hero to sleep state
  120. ADVENTURE_SET_HERO_AWAKE, // Move hero to awake state
  121. ADVENTURE_MOVE_HERO, // Moves hero alongside set path
  122. ADVENTURE_VISIT_OBJECT, // Revisits object hero is standing on
  123. ADVENTURE_VIEW_SELECTED,// Open window with currently selected hero/town
  124. ADVENTURE_NEXT_TOWN,
  125. ADVENTURE_NEXT_HERO,
  126. ADVENTURE_NEXT_OBJECT, // context-sensitive next object - select next hero/town, depending on current selection
  127. ADVENTURE_FIRST_TOWN, // select first available town in the list
  128. ADVENTURE_FIRST_HERO, // select first available hero in the list
  129. ADVENTURE_VIEW_SCENARIO,// View Scenario Information window
  130. ADVENTURE_REPLAY_TURN,
  131. ADVENTURE_DIG_GRAIL,
  132. ADVENTURE_VIEW_PUZZLE,
  133. ADVENTURE_VIEW_WORLD,
  134. ADVENTURE_VIEW_WORLD_X1,
  135. ADVENTURE_VIEW_WORLD_X2,
  136. ADVENTURE_VIEW_WORLD_X4,
  137. ADVENTURE_TRACK_HERO,
  138. ADVENTURE_TOGGLE_MAP_LEVEL,
  139. ADVENTURE_KINGDOM_OVERVIEW,
  140. ADVENTURE_QUEST_LOG,
  141. ADVENTURE_CAST_SPELL,
  142. ADVENTURE_MARKETPLACE,
  143. ADVENTURE_THIEVES_GUILD,
  144. ADVENTURE_EXIT_WORLD_VIEW,
  145. ADVENTURE_ZOOM_IN,
  146. ADVENTURE_ZOOM_OUT,
  147. ADVENTURE_ZOOM_RESET,
  148. ADVENTURE_END_TURN,
  149. ADVENTURE_LOAD_GAME,
  150. ADVENTURE_SAVE_GAME,
  151. ADVENTURE_NEW_GAME,
  152. ADVENTURE_RESTART_GAME,
  153. ADVENTURE_TO_MAIN_MENU,
  154. ADVENTURE_QUIT_GAME,
  155. ADVENTURE_SEARCH,
  156. ADVENTURE_SEARCH_CONTINUE,
  157. // Move hero one tile in specified direction. Bound to cursors & numpad buttons
  158. ADVENTURE_MOVE_HERO_SW,
  159. ADVENTURE_MOVE_HERO_SS,
  160. ADVENTURE_MOVE_HERO_SE,
  161. ADVENTURE_MOVE_HERO_WW,
  162. ADVENTURE_MOVE_HERO_EE,
  163. ADVENTURE_MOVE_HERO_NW,
  164. ADVENTURE_MOVE_HERO_NN,
  165. ADVENTURE_MOVE_HERO_NE,
  166. // Battle screen
  167. BATTLE_TOGGLE_QUEUE,
  168. BATTLE_USE_CREATURE_SPELL,
  169. BATTLE_SURRENDER,
  170. BATTLE_RETREAT,
  171. BATTLE_AUTOCOMBAT,
  172. BATTLE_END_WITH_AUTOCOMBAT,
  173. BATTLE_CAST_SPELL,
  174. BATTLE_WAIT,
  175. BATTLE_DEFEND,
  176. BATTLE_CONSOLE_UP,
  177. BATTLE_CONSOLE_DOWN,
  178. BATTLE_TACTICS_NEXT,
  179. BATTLE_TACTICS_END,
  180. BATTLE_TOGGLE_HEROES_STATS,
  181. BATTLE_OPEN_ACTIVE_UNIT,
  182. BATTLE_OPEN_HOVERED_UNIT,
  183. BATTLE_TOGGLE_QUICKSPELL,
  184. BATTLE_SPELL_SHORTCUT_0,
  185. BATTLE_SPELL_SHORTCUT_1,
  186. BATTLE_SPELL_SHORTCUT_2,
  187. BATTLE_SPELL_SHORTCUT_3,
  188. BATTLE_SPELL_SHORTCUT_4,
  189. BATTLE_SPELL_SHORTCUT_5,
  190. BATTLE_SPELL_SHORTCUT_6,
  191. BATTLE_SPELL_SHORTCUT_7,
  192. BATTLE_SPELL_SHORTCUT_8,
  193. BATTLE_SPELL_SHORTCUT_9,
  194. BATTLE_SPELL_SHORTCUT_10,
  195. BATTLE_SPELL_SHORTCUT_11,
  196. MARKET_DEAL,
  197. MARKET_MAX_AMOUNT,
  198. MARKET_SACRIFICE_ALL,
  199. MARKET_SACRIFICE_BACKPACK,
  200. MARKET_RESOURCE_PLAYER,
  201. MARKET_ARTIFACT_RESOURCE,
  202. MARKET_RESOURCE_ARTIFACT,
  203. MARKET_CREATURE_RESOURCE,
  204. MARKET_RESOURCE_RESOURCE,
  205. MARKET_CREATURE_EXPERIENCE,
  206. MARKET_ARTIFACT_EXPERIENCE,
  207. SPECTATE_TRACK_HERO,
  208. SPECTATE_SKIP_BATTLE,
  209. SPECTATE_SKIP_BATTLE_RESULT,
  210. // Town screen
  211. TOWN_OPEN_TAVERN,
  212. TOWN_OPEN_HALL,
  213. TOWN_OPEN_FORT,
  214. TOWN_OPEN_MARKET,
  215. TOWN_OPEN_MAGE_GUILD,
  216. TOWN_OPEN_THIEVES_GUILD,
  217. TOWN_OPEN_RECRUITMENT,
  218. TOWN_OPEN_HERO_EXCHANGE,
  219. TOWN_OPEN_HERO,
  220. TOWN_OPEN_VISITING_HERO,
  221. TOWN_OPEN_GARRISONED_HERO,
  222. TOWN_SWAP_ARMIES, // Swap garrisoned and visiting armies
  223. // Creature & creature recruitment screen
  224. RECRUITMENT_MAX, // Set number of creatures to recruit to max
  225. RECRUITMENT_MIN, // Set number of creatures to recruit to min (1)
  226. RECRUITMENT_SWITCH_LEVEL,
  227. RECRUITMENT_UPGRADE, // Upgrade current creature
  228. RECRUITMENT_UPGRADE_ALL, // Upgrade all creatures (Hill Fort / Skeleton Transformer)
  229. // Kingdom Overview window
  230. KINGDOM_HEROES_TAB,
  231. KINGDOM_TOWNS_TAB,
  232. // Hero screen
  233. HERO_DISMISS,
  234. HERO_COMMANDER,
  235. HERO_LOOSE_FORMATION,
  236. HERO_TIGHT_FORMATION,
  237. HERO_TOGGLE_TACTICS, // b
  238. HERO_ARMY_SPLIT,
  239. HERO_BACKPACK,
  240. HERO_COSTUME_SAVE_0,
  241. HERO_COSTUME_SAVE_1,
  242. HERO_COSTUME_SAVE_2,
  243. HERO_COSTUME_SAVE_3,
  244. HERO_COSTUME_SAVE_4,
  245. HERO_COSTUME_SAVE_5,
  246. HERO_COSTUME_SAVE_6,
  247. HERO_COSTUME_SAVE_7,
  248. HERO_COSTUME_SAVE_8,
  249. HERO_COSTUME_SAVE_9,
  250. HERO_COSTUME_LOAD_0,
  251. HERO_COSTUME_LOAD_1,
  252. HERO_COSTUME_LOAD_2,
  253. HERO_COSTUME_LOAD_3,
  254. HERO_COSTUME_LOAD_4,
  255. HERO_COSTUME_LOAD_5,
  256. HERO_COSTUME_LOAD_6,
  257. HERO_COSTUME_LOAD_7,
  258. HERO_COSTUME_LOAD_8,
  259. HERO_COSTUME_LOAD_9,
  260. EXCHANGE_ARMY_TO_LEFT,
  261. EXCHANGE_ARMY_TO_RIGHT,
  262. EXCHANGE_ARMY_SWAP,
  263. EXCHANGE_ARTIFACTS_TO_LEFT,
  264. EXCHANGE_ARTIFACTS_TO_RIGHT,
  265. EXCHANGE_ARTIFACTS_SWAP,
  266. EXCHANGE_EQUIPPED_TO_LEFT,
  267. EXCHANGE_EQUIPPED_TO_RIGHT,
  268. EXCHANGE_EQUIPPED_SWAP,
  269. EXCHANGE_BACKPACK_TO_LEFT,
  270. EXCHANGE_BACKPACK_TO_RIGHT,
  271. EXCHANGE_BACKPACK_SWAP,
  272. EXCHANGE_BACKPACK_LEFT,
  273. EXCHANGE_BACKPACK_RIGHT,
  274. // Spellbook screen
  275. SPELLBOOK_TAB_ADVENTURE,
  276. SPELLBOOK_TAB_COMBAT,
  277. SPELLBOOK_SEARCH_FOCUS,
  278. LIST_HERO_UP,
  279. LIST_HERO_DOWN,
  280. LIST_HERO_TOP,
  281. LIST_HERO_BOTTOM,
  282. LIST_HERO_DISMISS,
  283. LIST_TOWN_UP,
  284. LIST_TOWN_DOWN,
  285. LIST_TOWN_TOP,
  286. LIST_TOWN_BOTTOM,
  287. AFTER_LAST
  288. };