-
Notifications
You must be signed in to change notification settings - Fork 70
Keybinds
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 notesThe keybind configuration is composed of 2 sections, Override and Action:
-
Overridereplaces the default keybind of an action with custom keybinds -
Actiondefines 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 |