Special K keeps track of configuration parameters and their values (often called the ‘profile’) on a game-by-game basis and stores these in easily accessible and editable *.ini
files that the user can double-click to edit directly in Notepad or another text editor of choice. The tool also logs relevant diagnostics data also on a game-by-game basis in logs\*.log
files located below the game-specific configuration file(s).
<game-specific>
in the below tables refers to either the title of the game (Steam releases) or the executable filename of the game (other platforms).
Where the SK configuration for a game is stored depends on what type of install Special K is using to interface with the game.
Type of install | Location |
---|---|
Global | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\SpecialK.ini |
Local (converted from global) | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\SpecialK.ini |
Local (manual / custom mod) | <path-to-game>\<DLL-name>.ini |
Some older game-specific mods use a separate
*.ini
file to store the configuration for game-specific tweaks, such asFAR.ini
for the FAR (Fix Automata Resolution) mod for NieR: Automata.
Configuration for some modules (e.g. achievements, macros, OSD, widgets) are stored in
%USERPROFILE%\Documents\My Mods\SpecialK\Global\*.ini
A full list of supported parameters and their description can be found in the source code.
Below is a table of what the tab-based columns of the source code correspond to.
Column | Comment |
---|---|
1 | Internal parameter name. |
2 | Description of what the parameter does. |
3 | Lists what configuration file the parameter resides in:
|
4 | Lists the section of said configuration file (e.g. [Input.Cursor] ). |
5 | Lists the key for the parameter used in the configuration file (e.g. UseHardwareCursor ) |
A beta version for Special K v 0.11.1.0 released on October 25, 2020 introduced the ability to set default settings (either global or game-specific) using a default_<DLL-name>.ini
that will automatically be applied the first time a game is launched or after resetting the Special K config for the game.
Type of Install | Location |
---|---|
All games | %USERPROFILE%\Documents\My Mods\SpecialK\Global\ |
Game-specific (global injection) | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific> |
Game-specific (local injection) | <path-to-game> |
default_<DLL-name>.ini
where <DLL-name>
is replaced with the injection method the settings should apply for:Should apply for | <DLL-name> |
---|---|
Global injection | SpecialK |
OpenGL | OpenGL32 |
DirectX 11.x | DXGI or D3D11 |
DirectX 9 | D3D9 |
DirectX 8 | D3D8 |
DirectDraw | DDRAW |
DirectInput 8 | DInput8 |
The All games defaults are loaded first followed by the Game-specific defaults if one exists. This allows the use of global defaults combined with specific overrides for those games that might need it.
The more parameters are being set, the more likely it is that things will break.
Master settings overrides any and all unique game-specific configurations that may otherwise be set, including those set by any Custom default configuration that might exist. Use at your own risk!
Special K v 0.11.0.40 released on June 13, 2020 introduced the ability to set master settings using master_<DLL-name>.ini
that will automatically be applied for games.
Browse to %USERPROFILE%\Documents\My Mods\SpecialK\Global\
Create a new file called master_<DLL-name>.ini
where <DLL-name>
is replaced with the name of the DLL the settings should be used for:
Should apply for | <DLL-name> |
---|---|
Global injection | SpecialK |
OpenGL | OpenGL32 |
DirectX 11.x | DXGI or D3D11 |
DirectX 9 | D3D9 |
DirectX 8 | D3D8 |
DirectDraw | DDRAW |
DirectInput 8 | DInput8 |
The more parameters are being set, the more likely it is that things will break.
The configuration of a game can be reset by either of the following methods:
Hold down Ctrl + ⇧ Shift while launching the game to open the Special K Compatibility Layer window, then click on [Reset Config].
Close the game and delete the existing configuration file from the appropriate location:
Type of install | Location |
---|---|
Global | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\SpecialK.ini |
Local (converted from global) | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\SpecialK.ini |
Local (manual / custom mod) | <path-to-game> or in the game executable folder. Filename mirrors DLL file, e.g.dxgi.ini . |
If any Custom default or Shared master configurations exists and are applicable for the type of install and injection method being used for the game, they will still be applied for the game until those relevant files are also removed.
Log files are located in one of the following locations, based on the type of install of Special K being used:
Type of install | Location |
---|---|
Global | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\logs\*.log |
Local (converted from global) | %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\<game-specific>\logs\*.log |
Local (manual / custom mod) | <path-to-game>\logs\*.log |
The crash handler of Special K will move all logs related to a crash to a time-specific
<path-to-game>\logs\crash\<timestamp>\*.log
folder if it manages to capture data about the crash.
Log files marked with bold formatting are generally more important.
Log file | Purpose |
---|---|
CEGUI.log |
Stores logs related to the Crazy Eddie’s GUI System (CEGUI) component used for custom achievement popups and the on-screen display monitoring. |
crash.log |
Stores captured crash data if the crash handler of Special K were able to capture data related to the crash. |
SpecialK.log or <DLL-name>.log |
Main log file for Special K, stores injection, render pipeline, and other related events. |
dxgi_budget.log |
Stores aggregated DXGI memory statistics over the play session at the time of shutdown. |
game_output.log |
Stores everything the game outputs to the standard output stream of the operating system. |
modules.log |
Stores detected loaded/injected DLL files of the game. Note that tools or applications using more obscure ways of injecting themselves to avoid detection will not listed in this log file. |
ReShade.log |
If used, stores logs related to the custom ReShade plug-in of Special K. |
steam_api.log |
Stores logs related to the Steam API and enhancements. |
Keybinding | Function |
---|---|
Ctrl + ⇧ Shift + O | Toggle On Screen Display (OSD), might require a game restart |
Keyboard: Ctrl + ⇧ Shift + ← Backspace Controller: Back / Select + Start |
Toggle Control Panel |
Hold Ctrl + ⇧ Shift while launching the game | Opens the Injection Compatibility Options |
Unless otherwise noted, W/A/S/D can substitute the arrow keys.
Keybinding | Function |
---|---|
Keyboard: ⇪ Caps Lock Controller: Hold Back / Select for 0.5 seconds |
Toggle Exclusive Input Mode (game vs. control panel) |
Keyboard: ↑, ↓, ←, → Controller: ↑, ↓, ←, → |
Cycle Through UI Items |
Keyboard: ↵ Enter Controller: A / × |
Activate Selected Item |
Keyboard: Ctrl + ⇧ Shift + ← Backspace Controller: B / ○ |
Exit Menu |
Exclusive Keyboard Mode: Ctrl + Alt + ↑, ↓, ←, → Controller: X / □ + Left Analog Stick |
Move the Control Panel |
Color and scale configs are stored in Documents\My Mods\SpecialK\Global\osd.ini
Keybinding | Function |
---|---|
Ctrl + ⇧ Shift + O | Toggle On Screen Display (OSD), might require a game restart |
Ctrl + ⇧ Shift + + / - | Resize |
Ctrl + ⇧ Shift + F | Toggle Framerate Counter |
Ctrl + ⇧ Shift + T | Toggle Clock / Version |
Ctrl + ⇧ Shift + G | Toggle GPU Monitor |
Ctrl + ⇧ Shift + C | Toggle CPU Monitor |
Ctrl + ⇧ Shift + M | Toggle Memory Monitor |
Ctrl + ⇧ Shift + I | Toggle I/O Monitor |
Ctrl + ⇧ Shift + D | Toggle Disk Monitor |
Ctrl + ⇧ Shift + P | Toggle Page File Monitor |
Ctrl + ⇧ Shift + R | Toggle D3D11 Shader Analytics |
Keybinding | Function | Comment |
---|---|---|
Ctrl + ⇧ Shift + Tab ↹ | Command Console | See documentation for commands |