-
Notifications
You must be signed in to change notification settings - Fork 1
Key‐binds and Controls
This page covers the default key-binds are in ABS-Fractal-Explorer, how to setup custom key-binds in ABS-Fractal-Explorer, along with importing custom key-binds with FracExpKB files.
Primary:
WASD: Panning/Moving
E/Q: Zooming In/Out
T/G: Increase/Decrease Maximum Iterations
R: Reset Coordinates and Zoom
Y: Open/Close Settings Panel
Secondary:
J/L: Change starting Z.real value
I/K: Change starting Z.imag value
U/O: Reset Z.real/Z.imag to 0.0
Transformations:
Left/Right: Rotate Fractal
Up/Down: Stretch Fractal
F: Reset transformations
Fractal:
Z: Change Fractal ID (0-1048575) (Type in number then press Enter)
X: Change Fractal Type (2-5) (Quadratic-Quintic)
C: View Julia Set
V: Toggle starting Z value for Mandelbrot set
H: Export Fractal Data (To the directory the EXE is located in)
P: Take a screenshot (To the directory the EXE is located in)
Cycling:
[/]: Decrement/Increment by Formula ID
-/+: Decrement/Increment by Fractal Family
Rendering:
;/': Decrement/Increment Super Sampling (Higher Quality)
</>: Decrement/Increment Sub-Sampling (Faster Rendering)
M: fp32 GPU Rendering (Max Zoom: ~10.0^5.7) (Fastest)
N: fp64 CPU Rendering (Max Zoom: ~10.0^14.4)
B: fp80 CPU Rendering (Max Zoom: ~10.0^17.7)
Please be aware that custom key-binds are only available in developer builds of ABS-Fractal-Explorer starting from version 1.0.16.
In ABS-Fractal-Explorer v1.1.0 onwards, one can edit the key-binds in key-bind menu. The keys are color coded based on the function they preform.
To set a key-bind, select a function from the drop-down menu, then click on a key on the keyboard that you want to want to bind the function to. Afterwards you can press the Bind function to key
button to update the key-bind.
You can save/export the key-binds as a .FracExpKB
file so they can be used on another computer.
A list of every function you can bind a key to can be found here.
.FracExpKB
files are used to share/transfer custom key-binds between different computers or other users. They can be exported from the settings panel. .FracExpKB
files are also stored inside of the users configuration/settings file.
One thing to be aware of is that some devices don't have a number pad, or some of the other keys from the ANSI QWERTY Keyboard Layout. The settings panel will also state how compatible your key-binds are.
The raw FracExpKB file may be edited in a text editor, but it is not recommended.
To edit a FracExpKB file, ensure that your text editor is set to ANSI/UTF-8 encoding (ANSI is preferred). It is RECOMMENDED that you exclusively use ASCII characters. The only part of the FracExpKB file you SHOULD edit is underneath KeyBind_List:
. FracExpKB files use Tabs to indicate scope, do NOT use Spaces for Tabs.
New Key-binds are started with Preset:
, the inclusion of the Name:
and Hash:
fields is optional. ABS-Fractal-Explorer v1.1.0 does not support multiple Key-bind Presets and will only read the first Key-bind in the file.
There are two ways to format a Key-bind. You can type a Function and the Keys that trigger it; or you can type a Key and the Functions it triggers. You can assign multiple Keys to a Function, and vice versa.
KeyBind_List:
Preset:
Hash:
0x0000000000000000x0000000000000000x0000000000000000x0000000000000000
Name:
"Example"
incRealPos:
SDL_SCANCODE_D
SDL_SCANCODE_A:
decRealPos
takeScreenshot:
SDL_SCANCODE_P
SDL_SCANCODE_F12
SDL_SCANCODE_R:
resetCoordinates
resetRotation
Key-binds can be ignored in a few ways:
- Setting a Function to
NONE
- Setting a Key to
SDL_SCANCODE_UNKNOWN
- Using
#
at the start of a line to comment/ignore the line
The mouse buttons are not currently able to be bound to functions.
Keys/Functions can be bound to multiple functions. Just make sure that you do not create conflicting Key-binds (For example, binding move-left and move-right to the same key).
Exporting/saving key-binds can be done through the Key-binds menu.
Unfortunately, the FN key does not register as a Keyboard Scan-code, it is handled internally by the keyboard so it can't be detected by the operating system.
The Print-Screen/System-Request key are likely improperly implemented in the code which may be why neither of them work.
The keys won't register under SDL_SCANCODE_PRINTSCREEN or SDL_SCANCODE_SYSREQ, and it is possible that the issue could be fixed by switching to using SDL_Keycodes in a future version.
YES*
If your keyboard has a power button on it, it may or may not be able to generate a SDL_SCANCODE_POWER Scancode.
See Also:
- Key-bind Function List
- SDL2 Scancodes
- Settings List
- FracExpConfig config files
- FracExp fractal files