Shortcut.h 7.6 KB

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