version: 1 # Not used right now, whatever.
binds:
- function: UIClick
  type: State
  key: MouseLeft
  canFocus: true
- function: UIRightClick
  type: State
  key: MouseRight
  canFocus: true
  priority: 10
- function: CloseModals
  type: State
  key: Escape
  priority: 10
- function: Use
  type: State
  key: MouseLeft
  canFocus: true
- function: UseSecondary
  type: State
  key: MouseRight
  canFocus: true
  priority: -1 # UIRightClick & EditorCancelPlace should fire first.
- function: ShowDebugMonitors
  type: Toggle
  key: F3
- function: HideUI
  type: Toggle
  mod1: Shift
  key: F4
- function: MoveUp
  type: State
  key: W
- function: MoveLeft
  type: State
  key: A
- function: MoveRight
  type: State
  key: D
- function: MoveDown
  type: State
  key: S
- function: Walk
  type: State
  key: Shift
# Shuttle
- function: ShuttleStrafeUp
  type: State
  key: W
- function: ShuttleStrafeLeft
  type: State
  key: A
- function: ShuttleStrafeRight
  type: State
  key: D
- function: ShuttleStrafeDown
  type: State
  key: S
- function: ShuttleRotateLeft
  type: State
  key: Q
- function: ShuttleRotateRight
  type: State
  key: E
- function: ShuttleBrake
  type: State
  key: Space
# Camera
- function: CameraRotateLeft
  type: State
  key: NumpadNum7
- function: CameraRotateRight
  type: State
  key: NumpadNum9
- function: CameraReset
  type: State
  key: NumpadNum8
- function: ZoomOut
  type: State
  key: NumpadNum4
- function: ZoomIn
  type: State
  key: NumpadNum6
- function: ResetZoom
  type: State
  key: NumpadNum5
# Misc
- function: ShowEscapeMenu
  type: State
  key: F10
- function: ToggleFullscreen
  type: State
  key: F11
- function: CycleChatChannelForward
  type: State
  key: Tab
  priority: 1 # Before tab complete
- function: CycleChatChannelBackward
  type: State
  key: Tab
  mod1: Control
- function: FocusChatInputWindow
  type: State
  key: T
- function: FocusLocalChatWindow
  type: State
  key: Period
- function: FocusEmote
  type: State
  mod1: Shift
  key: Apostrophe
- function: FocusWhisperChatWindow
  type: State
  key: Comma
- function: FocusRadioWindow
  type: State
  key: SemiColon
- function: FocusLOOCWindow
  type: State
  mod1: Shift
  key: Num9
- function: FocusOOCWindow
  type: State
  key: LBracket
- function: FocusAdminChatWindow
  type: State
  key: RBracket
- function: FocusDeadChatWindow
  type: State
  key: Backslash
- function: FocusConsoleChatWindow
  type: State
  key: Slash
- function: EditorLinePlace
  type: State
  key: MouseLeft
  canFocus: true
  mod1: Shift
- function: EditorGridPlace
  type: State
  key: MouseLeft
  canFocus: true
  mod1: Control
- function: EditorPlaceObject
  type: State
  key: MouseLeft
  canFocus: true
- function: EditorCancelPlace
  type: State
  key: MouseRight
  canFocus: true
- function: EditorRotateObject
  type: State
  key: MouseMiddle
- function: EditorFlipObject
  type: State
  key: MouseMiddle
  mod1: Control
- function: EditorCopyObject
  type: State
  key: P
- function: SwapHands
  type: State
  key: X
- function: SwapHandsReverse
  type: State
  key: X
  mod1: Shift
- function: MoveStoredItem
  type: State
  key: MouseLeft
  canFocus: true
  priority: 10
- function: RotateStoredItem
  type: State
  key: MouseRight
- function: SaveItemLocation
  type: State
  key: MouseMiddle
- function: Drop
  type: State
  key: Q
- function: ActivateItemInHand
  type: State
  key: Z
- function: AltActivateItemInHand
  type: State
  key: Z
  mod1: Alt
- function: OpenCharacterMenu
  type: State
  key: U
- function: OpenEmotesMenu
  type: State
  key: Y
- function: TextCursorSelect
  # TextCursorSelect HAS to be above ExamineEntity
  # So that LineEdit receives it correctly.
  # TODO: Make it so that UI keybinds are somehow prioritized so this ordering stuff isn't necessary.
  type: State
  key: MouseLeft
  mod1: Shift
  canFocus: true
- function: ExamineEntity
  type: State
  key: MouseLeft
  canFocus: true
  mod1: Shift
- function: ActivateItemInWorld
  type: State
  key: E
- function: AltActivateItemInWorld
  type: State
  key: MouseLeft
  canFocus: true
  mod1: Alt
- function: AltActivateItemInWorld # secondary binding
  type: State
  key: E
  mod1: Alt
- function: ThrowItemInHand
  type: State
  key: Q
  mod1: Control
- function: TryPullObject
  type: State
  canFocus: true
  key: MouseLeft
  mod1: Control
- function: MovePulledObject
  type: State
  key: MouseRight
  mod1: Control
- function: ReleasePulledObject
  type: State
  key: H
- function: OpenCraftingMenu
  type: State
  key: G
- function: OpenGuidebook
  type: State
  key: NumpadNum0
- function: OpenAHelp
  type: State
  key: F1
- function: OpenInventoryMenu
  type: State
  key: I
- function: SmartEquipBackpack
  type: State
  key: B
  mod1: Shift
- function: SmartEquipBelt
  type: State
  key: E
  mod1: Shift
- function: SmartEquipPocket1
  type: State
  key: F
  mod1: Shift
- function: SmartEquipPocket2
  type: State
  key: G
  mod1: Shift
- function: SmartEquipSuitStorage
  type: State
  key: H
  mod1: Shift
- function: OpenBackpack
  type: State
  key: V
- function: OpenBelt
  type: State
  key: V
  mod1: Shift
- function: ShowDebugConsole
  type: State
  key: Tilde
- function: InspectEntity
  type: State
  key: v
  mod1: Alt
- function: InspectServerComponent
  type: State
  key: b
  mod1: Alt
- function: InspectClientComponent
  type: State
  key: c
  mod1: Alt
- function: MouseMiddle
  type: State
  key: MouseMiddle
  canFocus: true
- function: RotateObjectClockwise
  type: State
  key: R
- function: RotateObjectCounterclockwise
  type: State
  key: R
  mod1: Shift
- function: FlipObject
  type: State
  key: F
- function: TextCursorLeft
  type: State
  key: Left
  canRepeat: true
- function: TextCursorRight
  type: State
  key: Right
  canRepeat: true
- function: TextCursorUp
  type: State
  key: Up
  canRepeat: true
  priority: 2
- function: TextCursorDown
  type: State
  key: Down
  canRepeat: true
  priority: 2
- function: TextCursorWordLeft
  type: State
  key: Left
  mod1: Control
  canRepeat: true
  allowSubCombs: true
- function: TextCursorWordRight
  type: State
  key: Right
  mod1: Control
  canRepeat: true
  allowSubCombs: true
- function: TextCursorBegin
  type: State
  key: Home
- function: TextCursorEnd
  type: State
  key: End
  canRepeat: true
- function: TextCursorSelectLeft
  type: State
  key: Left
  mod1: Shift
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectRight
  type: State
  key: Right
  mod1: Shift
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectUp
  type: State
  key: Up
  mod1: Shift
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectDown
  type: State
  key: Down
  mod1: Shift
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectWordLeft
  type: State
  key: Left
  mod1: Shift
  mod2: Control
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectWordRight
  type: State
  key: Right
  mod1: Shift
  mod2: Control
  canRepeat: true
  allowSubCombs: true
- function: TextCursorSelectBegin
  type: State
  mod1: Shift
  key: Home
  allowSubCombs: true
- function: TextCursorSelectEnd
  type: State
  mod1: Shift
  key: End
  canRepeat: true
  allowSubCombs: true
- function: TextBackspace
  type: State
  key: BackSpace
  canRepeat: true
- function: TextDelete
  type: State
  key: Delete
  canRepeat: true
- function: TextWordBackspace
  type: State
  key: BackSpace
  mod1: Control
  canRepeat: true
  allowSubCombs: true
- function: TextWordDelete
  type: State
  key: Delete
  mod1: Control
  canRepeat: true
  allowSubCombs: true
- function: TextNewline
  type: State
  key: Return
  canRepeat: true
- function: TextNewline
  type: State
  key: NumpadEnter
  canRepeat: true
- function: TextSubmit
  type: State
  key: Return
- function: TextSubmit
  type: State
  key: NumpadEnter
- function: MultilineTextSubmit
  type: State
  key: Return
  mod1: Control
- function: MultilineTextSubmit
  type: State
  key: NumpadEnter
  mod1: Control
- function: TextSelectAll
  type: State
  key: A
  mod1: Control
  allowSubCombs: true
- function: TextCopy
  type: State
  key: C
  mod1: Control
  allowSubCombs: true
- function: TextCut
  type: State
  key: X
  mod1: Control
  allowSubCombs: true
- function: TextPaste
  type: State
  key: V
  mod1: Control
  allowSubCombs: true
- function: TextHistoryPrev
  type: State
  key: Up
- function: TextHistoryNext
  type: State
  key: Down
- function: TextCompleteNext
  type: State
  key: Down
  priority: 1
  canRepeat: true
- function: TextCompletePrev
  type: State
  key: Up
  priority: 1
  canRepeat: true
- function: TextReleaseFocus
  type: State
  key: Escape
  priority: 15
- function: TextScrollToBottom
  type: State
  key: PageDown
- function: TextTabComplete
  type: State
  key: Tab
- function: OpenEntitySpawnWindow
  type: State
  key: F5
- function: OpenTileSpawnWindow
  type: State
  key: F6
- function: OpenAdminMenu
  type: State
  key: F7
- function: OpenDecalSpawnWindow
  type: State
  key: F8
- function: ToggleRoundEndSummaryWindow
  type: State
  key: F9
- function: OpenSandboxWindow
  type: State
  key: B
- function: TakeScreenshot
  type: State
  key: F2
- function: TakeScreenshotNoUI
  type: State
  key: F2
  mod1: Shift
- function: GuiTabNavigateNext
  type: State
  key: Tab
- function: GuiTabNavigatePrev
  type: State
  key: Tab
  mod1: Shift
- function: EscapeContext
  type: State
  key: Escape
- function: WindowCloseAll
  type: State
  key: Escape
  mod1: Shift
- function: Point
  type: State
  key: MouseMiddle
  mod1: Shift
- function: ArcadeUp
  type: State
  key: Up
  priority: -1
- function: ArcadeDown
  type: State
  key: Down
  priority: -1
- function: ArcadeLeft
  type: State
  key: Left
  priority: -1
- function: ArcadeRight
  type: State
  key: Right
  priority: -1
- function: Arcade1
  type: State
  key: Space
- function: Arcade2
  type: State
  key: C
- function: Arcade3
  type: State
  key: Z
- function: ToggleKnockdown
  type: State
  key: C
- function: OpenAbilitiesMenu
  type: State
  key: K
- function: Hotbar0
  type: State
  key: Num0
- function: Hotbar1
  type: State
  key: Num1
- function: Hotbar2
  type: State
  key: Num2
- function: Hotbar3
  type: State
  key: Num3
- function: Hotbar4
  type: State
  key: Num4
- function: Hotbar5
  type: State
  key: Num5
- function: Hotbar6
  type: State
  key: Num6
- function: Hotbar7
  type: State
  key: Num7
- function: Hotbar8
  type: State
  key: Num8
- function: Hotbar9
  type: State
  key: Num9
- function: HotbarShift0
  type: State
  key: Num0
  mod1: Shift
- function: HotbarShift1
  type: State
  key: Num1
  mod1: Shift
- function: HotbarShift2
  type: State
  key: Num2
  mod1: Shift
- function: HotbarShift3
  type: State
  key: Num3
  mod1: Shift
- function: HotbarShift4
  type: State
  key: Num4
  mod1: Shift
- function: HotbarShift5
  type: State
  key: Num5
  mod1: Shift
- function: HotbarShift6
  type: State
  key: Num6
  mod1: Shift
- function: HotbarShift7
  type: State
  key: Num7
  mod1: Shift
- function: HotbarShift8
  type: State
  key: Num8
  mod1: Shift
- function: HotbarShift9
  type: State
  key: Num9
  mod1: Shift
- function: MappingUnselect
  type: State
  key: MouseRight
  canFocus: true
- function: SaveMap
  type: State
  key: S
  mod1: Control
- function: MappingEnablePick
  type: State
  key: Num5
- function: MappingEnableDelete
  type: State
  key: Num6
- function: MappingPick
  type: State
  key: MouseLeft
  canFocus: true
- function: MappingRemoveDecal
  type: State
  key: MouseLeft
  canFocus: true
- function: MappingCancelEraseDecal
  type: State
  key: MouseRight
  canFocus: true
- function: MappingOpenContextMenu
  type: State
  key: MouseRight
  canFocus: true
