Skip to content

Keybinds

0thElement edited this page Apr 9, 2023 · 1 revision

This article explains how to customize keybinds settings, and also lists all default keybinds in ArcCreate.

1. Customizing keybinds

Custom keybind settings are defined in keybind.yml. You can access this file by opening Settings tab, and press the open file button (the one next to Reload keybind button).

The format of keybind.yml is as follows:

Override:
  "Action name 1":
    - "Keybind 1"
    - "Keybind 2"
    - "Keybind 3"
    ...
  "Action name 2":
    - "Keybind 1"
    - "Keybind 2"
    ...
    
Action:
  "Keybind 1":
    - "Action 1"
    - "Action 2"
    ...
  "Keybind 2":
    - "Action 1"
    - "Action 2"
    ...

Example:

Override:
  "Clipboard.Cut":
    - "<a-x>"
    # Replaces keybind for cutting notes with alt+x
  "Clipboard.Copy":
    - "<c-C>"
    # Replaces keybind for cutting notes with ctrl+shift+c
Action:
  "c-c":
    - "Clipboard.Copy"
    - "Clipboard.Paste"
   # Define ctrl+c to copy and instantly start pasting notes

The keybind configuration is composed of 2 sections, Override and Action:

  • Override replaces the default keybind of an action with custom keybinds
  • Action defines new keybinds that execute multiple actions

2. Keybind format

The keybind format ArcCreate uses closely resembles that of vim keybinds format.

A keybind can either be a single keystroke, or a sequence of keystrokes.

A keystroke is encapsulated in < > brackets. However the bracket can be omitted if the keystroke string is only one letter long. Example:

One letter long keystroke:
- a: A key
- A: Shift + A key
- 1: 1 key
- @: Shift + 2 key

Special characters:
- <esc>: Escape key
- <cr>: Enter key

Optionally, each keystroke can define one or more modifier keys:

List of modifier keys:
- c: ctrl
- a: alt
- s: shift

Keystroke examples:
- <c-a>: ctrl + a
- <c-s-esc>: ctrl + shift + esc
- <c-a-m>: ctrl + alt + m

Additionally, you can specify whether the keystroke should activate when the key is first pressed down, when the key is lifted, or activated each frame while the key is being held down.

List of activation methods:
- h: activate on hold, i.e activate each frame while the key is held
- u: activate on lift
- (none / default): activate on press

Keystroke examples:
- <h-1>: 1 key, activate while key is held
- <u-shift>: shift key, activate when key is lifted
- <shift>: shift key, activate when key is pressed

A keybind can either be a single keystroke, or a sequence of keystrokes:

Single keystroke:
- <c-a>: ctrl + a key
- h: h key

Sequence of keystrokes:
- <c-a>h: ctrl + a key, then h key
- gg: press g key twice
- <s-space><s-esc>: shift + space key, then shift + esc key

3. List of actions and their default keybinds

3.1. ContextMenu

Action Keybinds Explanation
ContextMenu.Open <mouse2> Open the context menu
ContextMenu.Open.Close <u-mouse1>,<u-mouse2>,<u-mouse3>,<esc> Close the context menu

3.2. Project

Action Keybinds Explanation
Project.New <c-n> Open new project dialog
Project.Open <c-o> Open the open project dialog
Project.Save <c-s> Save the current project

3.3. Playback

Action Keybinds Explanation
Playback.TogglePlay q Toggle between playing and pausing the audio
Playback.PlayReturn <space> Play the audio, and return back to the original timing after Playback.PlayReturn.Return is activated
Playback.PlayReturn.Return <u-space> Pause the audio and return to the orignal timing
Playback.PlayReturn.Pause q Pause the autio and don't return to the original timing
Playback.ScrollBackOneTick j Move the current timing backward one tick
Playback.ScrollBackOneTick.Stop <u-j> Stops Playback.ScrollBackOneTick
Playback.ScrollForwardOneTick k Move the current timing backward one tick
Playback.ScrollForwardOneTick.Stop <u-k> Stops Playback.ScrollForwardOneTick
Playback.ScrollBackOneBar h Move the current timing backward one bar
Playback.ScrollBackOneBar.Stop <u-h> Stops Playback.ScrollBackOneTick
Playback.ScrollForwardOneBar l Move the current timing backward one bar
Playback.ScrollForwardOneBar.Stop <u-l> Stops Playback.ScrollForwardOneBar

3.4. History

Action Keybinds Explanation
History.Undo <c-z> Undo last chart editing action
History.Redo <c-y>,<c-Z> Redo the last undone chart editing actionaction

3.5. Grid

Action Keybinds Explanation
Grid.Toggle none Turn grid on or off
Grid.ToggleSlot g Starts either toggling grid or switch to a grid slot
Grid.ToggleSlot.Confirm <u-g> Toggle grid
Grid.ToggleSlot.Slot1 1 Switch to grid slot 1
Grid.ToggleSlot.Slot2 2 Switch to grid slot 2
Grid.ToggleSlot.Slot3 3 Switch to grid slot 3
Grid.ToggleSlot.Slot4 4 Switch to grid slot 4
Grid.ToggleSlot.Slot5 5 Switch to grid slot 5
Grid.ToggleSlot.Slot6 6 Switch to grid slot 6
Grid.ToggleSlot.Slot7 7 Switch to grid slot 7
Grid.ToggleSlot.Slot8 8 Switch to grid slot 8
Grid.ToggleSlot.Slot9 9 Switch to grid slot 9
Grid.ToggleSlot.Slot0 0 Switch to grid slot 0

3.6. NotePallete

Action Keybinds Explanation
NotePallete.Arc a Switch to creating arc or trace
NotePallete.Arc.ConfirmColor <u-a> Confirm action NotePallete.Arc
NotePallete.Arc.Blue 1 Switch to creating blue arc
NotePallete.Arc.Red 2 Switch to creating red arc
NotePallete.Arc.Green 3 Switch to creating green arc
NotePallete.ArcAlt <a-a> Switch to creating the counterpart of NotePallete.Arc
NotePallete.ArcAlt.ConfirmColor <u-a> Confirm action NotePallete.ArcAlt
NotePallete.ArcAlt.Blue 1 Switch to creating blue arc
NotePallete.ArcAlt.Red 2 Switch to creating red arc
NotePallete.ArcAlt.Green 3 Switch to creating green arc
NotePallete.Sky s Switch to creating sky note
NotePallete.Tap z Switch to creating tap note
NotePallete.Hold x Switch to creating hold note
NotePallete.Idle 2 Switch to idle mode
NotePallete.SwitchArcMode <f1> Changes the creation mode of NotePallete.Arc and NotePallete.ArcAlt between arc and trace. If currently selected notes contains arcs or traces, then instead convert the selected arcs to traces and traces to arcs
NotePallete.SwitchArcColor <f2> Changes the default arc color for subsequently created arcs between Blue and Red. If currently selected notes contains arcs, then instead convert the selected arcs from Blue to Red and from Red to Blue
NotePallete.SwitchArcType <f3> Changes the default arc type for subsequently created arcs and traces. If currently selected notes contains arcs, then instead convert type selected arcs and traces
NotePallete.CycleArcType <f4> Changes the default arc type for subsequently created arcs and traces. If currently selected notes contains arcs, then instead convert type selected arcs and traces
NotePallete.CycleArcTypeReversed <f5> Changes the default arc type for subsequently created arcs and traces. If currently selected notes contains arcs, then instead convert type selected arcs and traces
NotePallete.B 1 Changes the default arc type for subsequently created arcs and traces to B easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to B easing
NotePallete.S 2 Changes the default arc type for subsequently created arcs and traces to S easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to S easing
NotePallete.Si 3 Changes the default arc type for subsequently created arcs and traces to Si easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to Si easing
NotePallete.So 4 Changes the default arc type for subsequently created arcs and traces to So easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to So easing
NotePallete.SiSi 5 Changes the default arc type for subsequently created arcs and traces to SiSi easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to SiSi easing
NotePallete.SoSo 6 Changes the default arc type for subsequently created arcs and traces to SoSo easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to SoSo easing
NotePallete.SiSo 7 Changes the default arc type for subsequently created arcs and traces to SiSo easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to SiSo easing
NotePallete.SoSi 8 Changes the default arc type for subsequently created arcs and traces to SoSi easing. If currently selected notes contains arcs, then instead convert type selected arcs and traces to SoSi easing

Note: The conversion for actions SwitchArcType, CycleArcType and CycleArcTypeReversed are as follow:

Original SwitchArcType CycleArcType CycleArcTypeReversed
B S S SoSi
S B Si B
Si So So S
So Si SiSi Si
SiSi SoSo SoSo So
SoSo SiSi SiSo SiSi
SiSo SoSi SoSi SoSo
SoSi SiSo B SiSo

3.7. NoteCreation

Action Keybinds Explanation
NoteCreation.Start <u-mouse1> Start note creation process
NoteCreation.Start.Confirm <u-mouse1> Confirm note position
NoteCreation.Start.Cancel <esc> Cancel note creation process

3.8. Selection

Action Keybinds Explanation
Selection.Single <u-mouse1> Select a single note, or clear the selection if no note is under the cursor
Selection.Add <s-h-mouse2> Add the note under the cursor to the selection
Selection.Remove <a-h-mouse2> Remove the note under the cursor from the selection
Selection.Toggle <c-u-mouse1> Add the note under the cursor to the selection, or remove it from the selection if it's already selected
Selection.RangeSelect <c-r> Start range selection process
Selection.RangeSelect.Confirm <mouse1> Confirm a timing point of the range
Selection.RangeSelect.Cancel <esc> Cancel range selection
Selection.Clear none Clear selecion

3.9. Clipboard

Action Keybinds Explanation
Clipboard.Copy <c-c> Copy the currently selected notes into the default clipboard
Clipboard.Cut <c-x> Delete and copy the currently selected notes into the default clipboard
Clipboard.Paste <c-v> Start pasting the default clipboard
Clipboard.Paste.Confirm <mouse1> Confirm pasting notes timing and end the process
Clipboard.Paste.Mirror m Mirror the pasting notes
Clipboard.Paste.Cancel <esc> Cancel pasting
Clipboard.NamedCopy <c-a-c> Copy the currently selected notes into a named clipboard (decided by the key pressed after activating this action)
Clipboard.NamedCut <c-a-x> Delete and copy the currently selected notes into a named clipboard (decided by the key pressed after activating this action)
Clipboard.NamedPaste <c-a-v> Paste notes from a named clipboard (decided by the key pressed after activating this action)
Clipboard.NamedPaste.Confirm <mouse1> Confirm pasting notes timing and end the process
Clipboard.NamedPaste.Mirror m Mirror the pasting notes
Clipboard.NamedPaste.Cancel <esc> Cancel pasting

3.10. Dragging

Action Keybinds Explanation
Dragging.Timing <a-mouse1> Start dragging selected notes' timing
Dragging.Timing.Confirm <u-mouse1> Confirm dragging
Dragging.Timing.Cancel <esc> Cancel dragging
Dragging.Position <s-mouse1> Start dragging selected notes' position
Dragging.Position.Confirm <u-mouse1> Confirm dragging
Dragging.Timing.Cancel <esc> Cancel dragging

3.11. Mirror

Action Keybinds Explanation
Mirror.Horizontal m Mirror selected notes horizontally, also changes blue arcs to red arcs and red arcs to blue arcs.
Mirror.HorizontalNoColorSwitch <c-m> Mirror selected notes horizontally without changing arc colors
Mirror.Vertical <a-m> Mirror selected notes vertically

3.12. Delete

Action Keybinds Explanation
Delete.Execute d,<del> Delete the selected notes

3.13. Measure

Action Keybinds Explanation
Measure.Start e Start measuring process
Measure.Start.Confirm <mouse1> Confirm measurement
Measure.Start.Cancel <esc> Cancel measurement
Measure.Start.Restart e Restart measurement
Measure.Start.Close <mouse1> Close measurement result dialog
Measure.Start.CopyTiming t Copy timing result of measurement
Measure.Start.CopyPosition c Copy position result of measurement in the format [x],[y]
Measure.Start.CopyX x Copy position result of measurement's x coordinate
Measure.Start.CopyY y Copy position result of measurement's y coordinate

3.14. Camera

Action Keybinds Explanation
Camera.FreeCamera none Start free camera editing for currently selected camera event
Camera.FreeCamera.MoveForward <h-w> Move camera forward
Camera.FreeCamera.MoveLeft <h-a> Move camera left
Camera.FreeCamera.MoveBackward <h-s> Move camera backward
Camera.FreeCamera.MoveRight <h-d> Move camera right
Camera.FreeCamera.MoveUp <h-space> Move camera up
Camera.FreeCamera.MoveDown <h-shift> Move camera down
Camera.FreeCamera.LookUp <h-i> Rotate camera up
Camera.FreeCamera.LookLeft <h-j> Rotate camera to the left
Camera.FreeCamera.LookDown <h-k> Rotate camera down
Camera.FreeCamera.LookRight <h-l> Rotate camera to the right
Camera.FreeCamera.RollLeft <h-u> Roll camera to the left
Camera.FreeCamera.RollRight <h-o> Roll camera to the right
Camera.FreeCamera.Faster <h-ctrl> Speed up movement
Camera.FreeCamera.Slower <h-alt> Slow down movement
Camera.FreeCamera.Cancel <esc> Cancel free camera editing
Camera.FreeCamera.Confirm <cr> Confirm free camera editing

3.15. Miscellaneous

Action Keybinds Explanation
Display.FullScreen <f11> Toggle full screen viewport
Render.Start none Start rendering (usually triggered through UI)
Render.Start.Cancel <esc> Cancel rendering

4. List of key codes

Alphabet keys

a b c d e f
g h i j k l
m n o p q r
s t u v w x
y z
A B C D E F
G H I J K L
M N O P Q R
S T U V W X
Y Z

Arrow keys

left / leftarrow / arrowleft right / rightarrow / arrowright
up / uparrow / arrowup down / downarrow / arrowdown

Mouse keys

mouse1 / btn1 / button1
mouse2 / btn2 / button2
mouse3 / btn3 / button3

Symbol keys

` / backquote ' / quote
; / semicolon , / comma
. / period / / slash
\ / backslash [ / leftbracket
] / rightbracket - / minus
= / equals
~ _ + { } |
: \ < > ? !
@ # $ % ^ &
* ( )

Special keys

bs / backspace menu / apps / contextmenu
del / delete return / cr / enter
esc / escape pgup / pageup
pgdn / pagedown space
tab shift / leftshift
rightshift alt / leftalt
rightalt altgr
ctrl / leftctrl rightctrl
meta / leftmeta windows / leftwindows
apple / leftapple command / leftcommand
rightmeta rightwindows
rightapple rightcommand
home end
insert capslock
numlock printscreen / prtscn
scrolllock pause

Numeric keys

1 / digit1 2 / digit2 3 / digit3 4 / digit4 5 / digit5
6 / digit6 7 / digit7 8 / digit8 9 / digit9 0 / digit0
numpad1 numpad2 numpad3 numpad4 numpad5
numpad6 numpad7 numpad8 numpad9 numpad0

Numpad keys

numpadenter numpaddivide numpadmultiply
numpadplus numpadminus numpadperiod
numpadequals

Function keys

f1 f2 f3 f4 f5 f6
f7 f8 f9 f10 f11 f12

Table of content

Gameplay

Editor

Scripting

Clone this wiki locally