namespace AcDream.UI.Abstractions.Input; /// /// High-level input actions. Each name matches an entry in the retail /// acclient.keymap "Bindings" header (see /// docs/research/named-retail/retail-default.keymap.txt). The /// Acdream* entries at the bottom are extensions for current /// debug bindings that have no retail equivalent. /// /// /// The installed Sept-2013 ActionMap's 306 user-bindable rows each have one /// distinct enum identity and one live subsystem consumer. Low, non-bindable /// MasterInputMap commands remain separate infrastructure actions. /// /// public enum InputAction { /// Sentinel — no action. Reserved for "unbound". None = 0, // ── MovementCommands ────────────────────────────────── /// Move forward (run by default; walk if active). MovementForward, /// Move backward. MovementBackup, /// Turn the character to the left. MovementTurnLeft, /// Turn the character to the right. MovementTurnRight, /// Strafe (sidestep) to the left. MovementStrafeLeft, /// Strafe (sidestep) to the right. MovementStrafeRight, /// Hold-modifier — toggles forward motion to walk while held (retail Shift). MovementWalkMode, /// Toggle autorun on/off (retail Q). MovementRunLock, /// Charged jump — hold to power, release to launch. MovementJump, /// Cancel current motion / return to ready stance. MovementStop, /// Ready posture / sheathe-unsheathe (retail Y). Ready, /// Sit posture (retail G). Sitting, /// Crouch posture (retail H). Crouch, /// Sleep posture (retail B). Sleeping, // ── ItemSelectionCommands ───────────────────────────── /// Pick up the selected item. SelectionPickUp, /// Split a stack of the selected item. SelectionSplitStack, /// Cycle back to the previous selection. SelectionPreviousSelection, /// Closest compass-tracked item. SelectionClosestCompassItem, /// Previous compass-tracked item. SelectionPreviousCompassItem, /// Next compass-tracked item. SelectionNextCompassItem, /// Closest item in radius. SelectionClosestItem, /// Previous item in radius. SelectionPreviousItem, /// Next item in radius. SelectionNextItem, /// Closest monster. SelectionClosestMonster, /// Previous monster. SelectionPreviousMonster, /// Next monster. SelectionNextMonster, /// Most-recent attacker (for retaliation). SelectionLastAttacker, /// Closest player. SelectionClosestPlayer, /// Previous player. SelectionPreviousPlayer, /// Next player. SelectionNextPlayer, /// Previous fellow. SelectionPreviousFellow, /// Next fellow. SelectionNextFellow, /// Examine (Appraise) the current selection. SelectionExamine, // ── UICommands ──────────────────────────────────────── /// Use the selected item / interact (retail R). UseSelected, /// /// Retail Escape priority: cancel focused UI/targeting/movement, clear /// selection, then toggle the Gameplay Options page. /// EscapeKey, /// Log out of the game (retail Shift+Esc). LOGOUT, /// Toggle the help / control reference panel (retail F1). ToggleHelp, /// Toggle the plugin manager panel (retail F1+Shift+Ctrl). TogglePluginManager, /// Toggle the allegiance panel (retail F3). ToggleAllegiancePanel, /// Toggle the fellowship panel (retail F4). ToggleFellowshipPanel, /// Toggle the spellbook panel (retail F5). ToggleSpellbookPanel, /// Toggle the spell-components panel (retail F6). ToggleSpellComponentsPanel, /// Toggle the attributes panel (retail F8). ToggleAttributesPanel, /// Toggle the skills panel (retail F9). ToggleSkillsPanel, /// Toggle the world / map panel (retail F10). ToggleWorldPanel, /// Toggle the options / settings panel (retail F11) — opens /// the retail Options panel (Campaign OP, D1). Superseded the K.3-era /// ImGui SettingsPanel this action originally opened; that surface was /// never rendered after Campaign V slice V11 and was retired outright /// at OP9. ToggleOptionsPanel, /// Toggle the inventory panel (retail F12). ToggleInventoryPanel, /// Toggle floating chat window 1 (retail Alt+1). ToggleFloatingChatWindow1, /// Toggle floating chat window 2. ToggleFloatingChatWindow2, /// Toggle floating chat window 3. ToggleFloatingChatWindow3, /// Toggle floating chat window 4. ToggleFloatingChatWindow4, /// Capture a screenshot (retail PrintScreen). CaptureScreenshot, // ── QuickslotCommands ───────────────────────────────── UseQuickSlot_1, UseQuickSlot_2, UseQuickSlot_3, UseQuickSlot_4, UseQuickSlot_5, UseQuickSlot_6, UseQuickSlot_7, UseQuickSlot_8, UseQuickSlot_9, SelectQuickSlot_1, SelectQuickSlot_2, SelectQuickSlot_3, SelectQuickSlot_4, SelectQuickSlot_5, SelectQuickSlot_6, SelectQuickSlot_7, SelectQuickSlot_8, SelectQuickSlot_9, UseQuickSlot_14, UseQuickSlot_15, UseQuickSlot_16, UseQuickSlot_17, UseQuickSlot_18, /// Create a toolbar shortcut to the selected object (retail 0). CreateShortcut, // ── Chat ────────────────────────────────────────────── /// Focus the chat input field (retail Tab). ToggleChatEntry, /// Send the current chat-input contents (retail Return). EnterChatMode, // ── Combat ──────────────────────────────────────────── /// Toggle combat-stance on/off (retail Grave / `). CombatToggleCombat, // Mode-dependent retail combat actions. CombatDecreaseAttackPower, CombatIncreaseAttackPower, CombatLowAttack, CombatMediumAttack, CombatHighAttack, CombatDecreaseMissileAccuracy, CombatIncreaseMissileAccuracy, CombatAimLow, CombatAimMedium, CombatAimHigh, CombatPrevSpellTab, CombatNextSpellTab, CombatPrevSpell, CombatCastCurrentSpell, CombatNextSpell, CombatFirstSpellTab, CombatLastSpellTab, CombatFirstSpell, CombatLastSpell, UseSpellSlot_1, UseSpellSlot_2, UseSpellSlot_3, UseSpellSlot_4, UseSpellSlot_5, UseSpellSlot_6, UseSpellSlot_7, UseSpellSlot_8, UseSpellSlot_9, // ── Emotes ──────────────────────────────────────────── /// Cry emote (retail U). Cry, /// Laugh emote (retail I). Laugh, /// Cheer emote — celebratory jump (retail O). Cheer, /// Wave emote (retail J). Wave, /// Point emote (retail K). PointState, // ── Camera ──────────────────────────────────────────── /// Toggle alternate camera mode (retail F2 / Numpad-/). CameraActivateAlternateMode, /// Hold-MMB instant mouse-look — hardcoded behavior in K.2. CameraInstantMouseLook, CameraRotateLeft, CameraRotateRight, CameraRotateUp, CameraRotateDown, CameraMoveToward, CameraMoveAway, CameraViewDefault, CameraViewFirstPerson, CameraViewLookDown, CameraViewMapMode, // ── Scroll ──────────────────────────────────────────── /// Scroll up — wheel up or Ctrl+Up. ScrollUp, /// Scroll down — wheel down or Ctrl+Down. ScrollDown, // ── Mouse selection ─────────────────────────────────── /// Single left-click select. SelectLeft, /// Single right-click select. SelectRight, /// Single middle-click select. SelectMid, /// Double left-click select. SelectDblLeft, /// Double right-click select. SelectDblRight, /// Double middle-click select. SelectDblMid, // ── Acdream debug actions (existing F-key behavior) ── /// F1 toggles entire DebugPanel visibility (acdream-only). AcdreamToggleDebugPanel, /// F2 toggles collision wireframes. AcdreamToggleCollisionWires, /// F3 dumps player + nearby entities to console. AcdreamDumpNearby, /// F7 cycles time of day. AcdreamCycleTimeOfDay, /// F8 decreases mouse sensitivity. AcdreamSensitivityDown, /// F9 increases mouse sensitivity. AcdreamSensitivityUp, /// F10 cycles weather. AcdreamCycleWeather, /// Ctrl+M mutes/unmutes all audio instantly (acdream-only — /// retail has no master volume, let alone a mute). AcdreamToggleAudioMute, /// F (existing) toggles between fly camera and orbit/chase mode. AcdreamToggleFlyMode, /// Legacy acdream player-mode toggle. Intentionally unbound; /// retail Tab is . AcdreamTogglePlayerMode, /// Hold-RMB chase-camera orbit (debug-only, not user-rebindable). /// Camera orbits around the player while held; never drives character yaw. AcdreamRmbOrbitHold, /// Fly-camera descend (Ctrl) — only meaningful while fly camera /// is active. K.1b binds it to ControlLeft; K.1c may rebind. AcdreamFlyDown, // ── AcdreamCameraCommands ───────────────────────────── /// Camera zoom in (held key, integrates Distance−= adjSpeed·dt). Default unbound. CameraZoomIn, /// Camera zoom out (held key, integrates Distance+= adjSpeed·dt). Default unbound. CameraZoomOut, /// Camera raise (held key, integrates Pitch+= adjSpeed·dt·0.02). Default unbound. CameraRaise, /// Camera lower (held key, integrates Pitch−= adjSpeed·dt·0.02). Default unbound. CameraLower, // ── Remaining Sept-2013 retail ActionMap identities ──────────── // Appended after every pre-existing member so persisted numeric enum values // remain stable. These are distinct even where retail reuses the same // Action id in another InputMap (notably CameraAlternateControls). CameraAlternateMoveToward, CameraAlternateMoveAway, CameraAlternateRotateLeft, CameraAlternateRotateRight, CameraAlternateRotateUp, CameraAlternateRotateDown, CameraAlternateViewDefault, CameraAlternateViewFirstPerson, CameraAlternateViewLookDown, CameraAlternateViewMapMode, UseSpellSlot_10, UseSpellSlot_11, UseSpellSlot_12, EmoteAfkState, EmoteAkimbo, EmoteAToyotState, EmoteAkimboState, EmoteAtEaseState, EmoteBeckon, EmoteBeSeeingYou, EmoteBlowKiss, EmoteBowDeep, EmoteBowDeepState, EmoteClapHands, EmoteClapHandsState, EmoteCringe, EmoteCrossArmsState, EmoteCurtseyState, EmoteDrudgeDance, EmoteDrudgeDanceState, EmoteHaveASeat, EmoteHaveASeatState, EmoteHeartyLaugh, EmoteHelper, EmoteKneel, EmoteKneelState, EmoteKnock, EmoteLeanState, EmoteMeditateState, EmoteMimeDrinking, EmoteMimeEating, EmoteMock, EmoteNod, EmoteNudgeLeft, EmoteNudgeRight, EmotePlead, EmotePleadState, EmotePoint, EmotePointDown, EmotePointDownState, EmotePointLeft, EmotePointLeftState, EmotePointRight, EmotePointRightState, EmotePossumState, EmotePray, EmotePrayState, EmoteReadState, EmoteSalute, EmoteSaluteState, EmoteScanHorizon, EmoteScratchHead, EmoteScratchHeadState, EmoteShakeFist, EmoteShakeFistState, EmoteShakeHead, EmoteShiver, EmoteShiverState, EmoteShoo, EmoteShrug, EmoteSitState, EmoteSitBackState, EmoteSitCrossleggedState, EmoteSlouch, EmoteSlouchState, EmoteSmackHead, EmoteSnowAngelState, EmoteSpit, EmoteSurrender, EmoteSurrenderState, EmoteTalkToTheHandState, EmoteTapFoot, EmoteTapFootState, EmoteTeapot, EmoteThinkerState, EmoteWarmHands, EmoteWaveState, EmoteWaveLow, EmoteWaveHigh, EmoteWinded, EmoteWindedState, EmoteWoah, EmoteWoahState, EmoteYawnAndStretch, EmoteYmca, SelectionSelf, SelectionPlaceInInventory, SelectionUseClosestUnopenedCorpse, SelectionUseNextUnopenedCorpse, SelectionGiveToTarget, SelectionDrop, SelectionPlaceInMainPack, SelectionClosestUnopenedCorpse, SelectionNextUnopenedCorpse, ToggleAbuseReportingPanel, ToggleCharacterInfoPanel, TogglePositiveMagicPanel, ToggleNegativeMagicPanel, ToggleLinkStatusPanel, ToggleUrgentAssistancePanel, ToggleVitaePanel, ToggleSocialPanel, ToggleSpellManagementPanel, ToggleCharacterDetailPanel, ToggleMapPage, ToggleHousePage, ToggleGameplayOptionsPage, ToggleCharacterSettingsPage, ToggleConfigurationPage, ToggleCompass, ToggleKeyboardConfiguration, ToggleFriendsPage, ToggleCharacterTitlesPage, ToggleQuestDetailPanel, ToggleQuestJournalPage, ToggleJournalPageList, ToggleContractsPage, ChatMonarchReply, ChatPatronReply, ChatReply, ChatStartCommand, ChatTellToSelected, UseQuickSlot_10, UseQuickSlot_11, UseQuickSlot_12, UseQuickSlot_13, ToggleCharacterOptionAutoRepeatAttack, ToggleCharacterOptionIgnoreAllegianceRequests, ToggleCharacterOptionIgnoreFellowshipRequests, ToggleCharacterOptionIgnoreTradeRequests, ToggleCharacterOptionPersistentAtDay, ToggleCharacterOptionAllowGive, ToggleCharacterOptionViewCombatTarget, ToggleCharacterOptionShowTooltips, ToggleCharacterOptionUseDeception, ToggleCharacterOptionToggleRun, ToggleCharacterOptionStayInChatMode, ToggleCharacterOptionAdvancedCombatUi, ToggleCharacterOptionAutoTarget, ToggleCharacterOptionVividTargetingIndicator, ToggleCharacterOptionFellowshipShareXp, ToggleCharacterOptionAcceptLootPermits, ToggleCharacterOptionFellowshipShareLoot, ToggleCharacterOptionFellowshipAutoAcceptRequests, ToggleCharacterOptionCoordinatesOnRadar, ToggleCharacterOptionSpellDuration, ToggleCharacterOptionDisableHouseRestrictionEffects, ToggleCharacterOptionDragItemOnPlayerOpensSecureTrade, ToggleCharacterOptionDisplayAllegianceLogonNotifications, ToggleCharacterOptionUseChargeAttack, ToggleCharacterOptionUseCraftSuccessDialog, ToggleCharacterOptionListenToAllegianceChat, ToggleCharacterOptionDisplayDateOfBirth, ToggleCharacterOptionDisplayAge, ToggleCharacterOptionDisplayChessRank, ToggleCharacterOptionDisplayFishingSkill, ToggleCharacterOptionDisplayNumberDeaths, ToggleCharacterOptionDisplayTimeStamps, ToggleCharacterOptionSalvageMultiple, ToggleCharacterOptionListenToGeneralChat, ToggleCharacterOptionListenToTradeChat, ToggleCharacterOptionListenToLfgChat, ToggleCharacterOptionListenToRoleplayChat, ToggleCharacterOptionDisplayNumberCharacterTitles, ToggleCharacterOptionMainPackPreferred, ToggleCharacterOptionLeadMissileTargets, ToggleCharacterOptionUseFastMissiles, ToggleCharacterOptionFilterLanguage, ToggleCharacterOptionConfirmVolatileRareUse, ToggleCharacterOptionListenToSocietyChat, ToggleCharacterOptionShowHelm, ToggleCharacterOptionDisableDistanceFog, ToggleCharacterOptionShowCloak, ToggleCharacterOptionSideBySideVitals, }