// This file defines all shortcuts used by VCMI
// For modders: create file with same name (Content/config/shortcutsConfig.json) to modify this set in your mod
// For players (Windows): create file Documents/My Games/vcmi/config/shortcutsConfig.json to modify this set
// For players (Linux): create file ~/.config/vcmi/shortcutsConfig.json (or ~/.var/app/eu.vcmi.VCMI/config for Flatpak) to modify this set
//
// When creating your own config, you can remove all hotkeys that you have not changed and game will read them from this file
// It is possible to add modifiers to keys: Ctrl, Shift, or Alt. For example, "Ctrl+Tab" hotkey will only activate if Ctrl is pressed
{
	"keyboard" : {
		"adventureCastSpell":       "C",
		"adventureDigGrail":        "D",
		"adventureEndTurn":         "E",
		"adventureExitWorldView":   [ "Escape", "Return", "Keypad Enter"],
		"adventureFirstHero":       "Ctrl+H",
		"adventureFirstTown":       "Ctrl+T",
		"adventureGameOptions":     "O",
		"adventureKingdomOverview": "K",
		"adventureLoadGame":        "L",
		"adventureMainMenu":        "Ctrl+M",
		"adventureMarketplace":     "B",
		"adventureMoveHero":        "M",
		"adventureMoveHeroEE":      [ "Keypad 6", "Right" ],
		"adventureMoveHeroNE":      [ "Keypad 9", "PageUp" ],
		"adventureMoveHeroNN":      [ "Keypad 8", "Up" ],
		"adventureMoveHeroNW":      [ "Keypad 7", "Home" ],
		"adventureMoveHeroSE":      [ "Keypad 3", "PageDown" ],
		"adventureMoveHeroSS":      [ "Keypad 2", "Down" ],
		"adventureMoveHeroSW":      [ "Keypad 1", "End" ],
		"adventureMoveHeroWW":      [ "Keypad 4", "Left" ],
		"adventureNewGame":         "Ctrl+N",
		"adventureNextHero":        "H",
		"adventureNextObject":      "N",
		"adventureNextTown":        "T",
		"adventureQuestLog":        "Q",
		"adventureQuitGame":        "Ctrl+Q",
		"adventureReplayTurn":      [], // NOTE: functionality not implemented
		"adventureRestartGame":     "R",
		"adventureSaveGame":        "S",
		"adventureSetHeroAsleep":   "Z",
		"adventureSetHeroAwake":    "W",
		"adventureThievesGuild":    "G",
		"adventureToggleGrid":      "F6",
		"adventureToggleVisitable": [],
		"adventureToggleBlocked":   [],
		"adventureToggleMapLevel":  "U",
		"adventureToggleSleep":     [],
		"adventureTrackHero":       "F5",
		"adventureViewPuzzle":      "P",
		"adventureViewScenario":    "I",
		"adventureViewSelected":    [ "Return", "Keypad Enter"],
		"adventureViewWorld":       "V",
		"adventureViewWorld1":      "1",
		"adventureViewWorld2":      "2",
		"adventureViewWorld4":      "4",
		"adventureVisitObject":     "Space",
		"adventureZoomIn":          "Keypad +",
		"adventureZoomOut":         "Keypad -",
		"adventureZoomReset":       "Backspace",
		"adventureSearch":          "Ctrl+F",
		"adventureSearchContinue":  "Alt+F",
		"battleAutocombat":         "A",
		"battleAutocombatEnd":      "Q",
		"battleCastSpell":          "C",
		"battleConsoleDown":        "Down",
		"battleConsoleUp":          "Up",
		"battleDefend":             [ "D", "Space"],
		"battleOpenActiveUnit":     "I",
		"battleOpenHoveredUnit":    "V",
		"battleRetreat":            "R",
		"battleSelectAction":       "S",
		"battleToggleQuickSpell":   "T",
		"battleSpellShortcut0":     "1",
		"battleSpellShortcut1":     "2",
		"battleSpellShortcut2":     "3",
		"battleSpellShortcut3":     "4",
		"battleSpellShortcut4":     "5",
		"battleSpellShortcut5":     "6",
		"battleSpellShortcut6":     "7",
		"battleSpellShortcut7":     "8",
		"battleSpellShortcut8":     "9",
		"battleSpellShortcut9":     "0",
		"battleSpellShortcut10":    "N",
		"battleSpellShortcut11":    "M",
		"battleSurrender":          "S",
		"battleTacticsEnd":         [ "Return", "Keypad Enter"],
		"battleTacticsNext":        "Space",
		"battleToggleHeroesStats":  [],
		"battleToggleQueue":        "Z",
		"battleUseCreatureSpell":   ["F", "G"],
		"battleWait":               "W",
		"exchangeArmySwap":         ["F10", "Q"],
		"exchangeArmyToLeft":       [],
		"exchangeArmyToRight":      [],
		"exchangeArtifactsSwap":    ["F11", "Q"],
		"exchangeArtifactsToLeft":  [],
		"exchangeArtifactsToRight": [],
		"exchangeBackpackLeft":     [],
		"exchangeBackpackRight":    [],
		"exchangeBackpackSwap":     "Shift+F11",
		"exchangeBackpackToLeft":   [],
		"exchangeBackpackToRight":  [],
		"exchangeEquippedSwap":     "Ctrl+F11",
		"exchangeEquippedToLeft":   [],
		"exchangeEquippedToRight":  [],
		"gameActivateConsole":      "Tab",
		"globalAccept":             [ "Return", "Keypad Enter"],
		"globalBackspace":          "Backspace",
		"globalCancel":             "Escape",
		"globalFullscreen":         "F4",
		"globalMoveFocus":          "Tab",
		"globalOptions":            "O",
		"globalReturn":             [ "Escape", "Return", "Keypad Enter"],
		"heroArmySplit":            "S",
		"heroBackpack":             "B",
		"heroCommander":            "C",
		"heroCostumeLoad0":         "0",
		"heroCostumeLoad1":         "1",
		"heroCostumeLoad2":         "2",
		"heroCostumeLoad3":         "3",
		"heroCostumeLoad4":         "4",
		"heroCostumeLoad5":         "5",
		"heroCostumeLoad6":         "6",
		"heroCostumeLoad7":         "7",
		"heroCostumeLoad8":         "8",
		"heroCostumeLoad9":         "9",
		"heroCostumeSave0":         "Ctrl+0",
		"heroCostumeSave1":         "Ctrl+1",
		"heroCostumeSave2":         "Ctrl+2",
		"heroCostumeSave3":         "Ctrl+3",
		"heroCostumeSave4":         "Ctrl+4",
		"heroCostumeSave5":         "Ctrl+5",
		"heroCostumeSave6":         "Ctrl+6",
		"heroCostumeSave7":         "Ctrl+7",
		"heroCostumeSave8":         "Ctrl+8",
		"heroCostumeSave9":         "Ctrl+9",
		"heroDismiss":              "D",
		"heroLooseFormation":       "L",
		"heroTightFormation":       "T",
		"heroToggleTactics":        "B",
		"highScoresCampaigns":      "C",
		"highScoresReset":          "R",
		"highScoresStatistics":     ".",
		"highScoresScenarios":      "S",
		"kingdomHeroesTab":         "H",
		"kingdomTownsTab":          "T",
		"lobbyAdditionalOptions":   "A",
		"lobbyBeginCampaign":       [ "Return", "Keypad Enter"],
		"lobbyBeginStandardGame":   "B",
		"lobbyExtraOptions":        "E",
		"lobbyFlipCoin":            "F",
		"lobbyInvitePlayers":       "I",
		"lobbyLoadGame":            [ "L", "Return", "Keypad Enter"],
		"lobbyRandomMap":           "R",
		"lobbyRandomTown":          "T",
		"lobbyRandomTownVs":        "V",
		"lobbyHandicap":            "H",
		"lobbyReplayVideo":         "R",
		"lobbySaveGame":            [ "S", "Return", "Keypad Enter"],
		"lobbySelectScenario":      "S",
		"lobbyToggleChat":          "C",
		"lobbyTurnOptions":         "T",
		"mainMenuBack":             [ "B", "Escape" ],
		"mainMenuCampaign":         "C",
		"mainMenuCampaignAb":       "A",
		"mainMenuCampaignCustom":   "C",
		"mainMenuCampaignRoe":      "R",
		"mainMenuCampaignSod":      "S",
		"mainMenuCredits":          "C",
		"mainMenuHighScores":       "H",
		"mainMenuHostGame":         "C",
		"mainMenuHotseat":          "H",
		"mainMenuJoinGame":         "J",
		"mainMenuLoadGame":         "L",
		"mainMenuLobby":            "Ctrl+Tab",
		"mainMenuMultiplayer":      "M",
		"mainMenuNewGame":          "N",
		"mainMenuQuit":             [ "Q", "Escape" ],
		"mainMenuSingleplayer":     "S",
		"mainMenuTutorial":         "T",
		"mapsSizeAll":              [],
		"mapsSizeL":                [],
		"mapsSizeM":                [],
		"mapsSizeS":                [],
		"mapsSizeXl":               [],
		"mapsSortChangedate":       [],
		"mapsSortDefeat":           [],
		"mapsSortFormat":           [],
		"mapsSortMaps":             [],
		"mapsSortName":             [],
		"mapsSortPlayers":          [],
		"mapsSortSize":             [],
		"mapsSortVictory":          [],
		"marketArtifactExperience": [],
		"marketArtifactResource":   [],
		"marketCreatureExperience": [],
		"marketCreatureResource":   [],
		"marketDeal":               "Space",
		"marketMaxAmount":          "M",
		"marketResourceArtifact":   [],
		"marketResourcePlayer":     [],
		"marketResourceResource":   [],
		"marketSacrificeAll":       "A",
		"marketSacrificeBackpack":  "B",
		"moveDown":                 "Down",
		"moveFirst":                "Home",
		"moveLast":                 "End",
		"moveLeft":                 "Left",
		"movePageDown":             "PageDown",
		"movePageUp":               "PageUp",
		"moveRight":                "Right",
		"moveUp":                   "Up",
		"recruitmentMax":           [ "End", "M" ],
		"recruitmentMin":           "Home",
		"recruitmentSwitchLevel":   "Tab",
		"recruitmentUpgrade":       "U",
		"recruitmentUpgradeAll":    [ "A", "U" ],
		"selectIndex1":             "1",
		"selectIndex2":             "2",
		"selectIndex3":             "3",
		"selectIndex4":             "4",
		"selectIndex5":             "5",
		"selectIndex6":             "6",
		"selectIndex7":             "7",
		"selectIndex8":             "8",
		"settingsLoadGame":         "L",
		"settingsNewGame":          "N",
		"settingsQuitGame":         "Q",
		"settingsRestartGame":      "R",
		"settingsSaveGame":         "S",
		"settingsToMainMenu":       "M",
		"spectateSkipBattle":       [],
		"spectateSkipBattleResult": [],
		"spectateTrackHero":        [],
		"spellbookTabAdventure":    "A",
		"spellbookTabCombat":       "C",
		"spellbookSearchFocus":     "Tab",
		"townOpenFort":             "F",
		"townOpenGarrisonedHero":   "Shift+H",
		"townOpenHall":             "B",
		"townOpenHero":             "H",
		"townOpenHeroExchange":     "E",
		"townOpenMageGuild":        "G",
		"townOpenMarket":           "M",
		"townOpenRecruitment":      "R",
		"townOpenTavern":           "T",
		"townOpenThievesGuild":     "G",
		"townOpenVisitingHero":     "Ctrl+H",
		"townSwapArmies":           "Space",
		"listHeroUp":               "Ctrl+PageUp",
		"listHeroDown":             "Ctrl+PageDown",
		"listHeroTop":              "Ctrl+Home",
		"listHeroBottom":           "Ctrl+End",
		"listHeroDismiss":          "Delete",
		"listTownUp":               "Ctrl+PageUp",
		"listTownDown":             "Ctrl+PageDown",
		"listTownTop":              "Ctrl+Home",
		"listTownBottom":           "Ctrl+End",
		
		// Controller-specific
		"mouseCursorX":             [],
		"mouseCursorY":             [],
		"mouseClickLeft":           [],
		"mouseClickRight":          [],
		"mouseSwipeX":              [],
		"mouseSwipeY":              [],

	},
	
	"joystickAxes":
	{
		"mouseCursorX" : "leftx",
		"mouseCursorY" : "lefty",
		"mouseSwipeX" : "rightx",
		"mouseSwipeY" : "righty"
	},
	
	"joystickButtons": {
		"globalAccept" : "a",
		"globalCancel" : "b",
		"globalReturn" : [ "a", "b" ],
		
		"lobbyBeginStandardGame" : "a",
		"lobbyBeginCampaign" : "a",
		"lobbyLoadGame" : "a",
		"lobbySaveGame" : "a",
		"adventureViewSelected" : "a",
		"adventureExitWorldView" : [ "a", "b" ],
		"battleTacticsEnd" : "a",
		
		"mouseClickLeft": "x",
		"mouseClickRight": "y",

		"adventureNextHero" : "leftshoulder",
		"battleDefend" : "leftshoulder",

		"adventureNextTown" : "rightshoulder",
		"battleWait" : "rightshoulder",

		"adventureVisitObject" : "lefttrigger",
		"battleTacticsNext" : "lefttrigger",
		"battleUseCreatureSpell" : "lefttrigger",

		"adventureCastSpell" : "righttrigger",
		"battleCastSpell" : "righttrigger",
		
		"adventureEndTurn" : "back",
		"battleAutocombatEnd" : "back",
		
		"globalOptions" : "start",
		"adventureGameOptions" : "start",
		
		"moveUp" : "dpup",
		"adventureViewWorld" : "dpup",
		"recruitmentUpgrade" : "dpup",
		"recruitmentUpgradeAll" : "dpup",
		"battleConsoleUp" : "dpup",
		"recruitmentMax" : "dpup",
		
		"moveDown" : "dpdown",
		"adventureKingdomOverview" : "dpdown",
		"battleConsoleDown" : "dpdown",
		"recruitmentMin" : "dpdown",
		
		"moveLeft" : "dpleft",
		"adventureViewScenario" : "dpleft",

		"moveRight" : "dpright",
		"adventureThievesGuild" : "dpright",
		
		"adventureToggleMapLevel" : "leftstick",
		"battleToggleHeroesStats" : "leftstick",
		
		"adventureToggleGrid" : "rightstick",
		"battleToggleQueue" : "rightstick",
	}
}
