> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/FNScence/CSAFAP-config-package/llms.txt
> Use this file to discover all available pages before exploring further.

# Customizing Keybinds

> Learn how to customize keybinds in the CSAFAP Config Package to match your preferences

The CSAFAP Config Package allows you to customize all keybinds in the `csafap/MAIN.cfg` file. This guide will show you how to modify the default keybinds to match your playstyle.

## Base Keybinds

The four main keybinds provide access to the radio wheel system:

```cfg theme={null}
bind "M" +map_action        // MAP SELECTION + PRACTICE MODE
bind "J" +T_action          // T SMOKES
bind "H" +CT_action         // CT SMOKES  
bind "K" +crosshair_action  // PRO-CROSSHAIRS, BETTER FOLLOW-RECOIL, RAPID FIRE, SNAP-TAP
```

### Default Keybind Functions

* **H**: CT Line-ups (Smokes & Wallbangs)
* **J**: T Line-ups (Smokes & Wallbangs)
* **K**: Pro crosshairs, Rapid fire pistols, Better Follow-Recoil and Snap-Tap/Null binds
* **M**: Map Selection + Practice Mode

## AveYo's Advanced Binds

The package includes several advanced binds that require the `-testscript` launch option:

```cfg theme={null}
bind "space"      +JumpThrow      // jumpthrow (just like in CSGO)
bind "N"          +WJumpThrow     // W-jumpthrow (just like in CSGO)
bind "mwheeldown" desubJ          // desubtick jumping (better bhop)
```

### Optional Advanced Binds

These binds are commented out by default. Remove `//` to enable them:

```cfg theme={null}
//bind "CAPSLOCK" +CrouchJump    // crouch-jump (just like in CSGO)
//bind "Ralt"     toggle_rapid   // toggle ON/OFF rapid fire and/or follow recoil
```

## Customizing Keybinds

<Steps>
  <Step title="Open MAIN.cfg">
    Navigate to `csafap/MAIN.cfg` and open it with a text editor (e.g., Notepad++)
  </Step>

  <Step title="Locate the bind">
    Find the keybind you want to change in the BASE KEYBINDS or AveYo's binds section
  </Step>

  <Step title="Edit the key">
    Change the key value (in quotes) to your preferred key:

    ```cfg theme={null}
    // Change from M to B
    bind "B" +map_action
    ```
  </Step>

  <Step title="Save and reload">
    Save the file and reload the config in-game by typing `exec csafap/main` in console
  </Step>
</Steps>

## Mouse Button Requirements

If you use the jumpthrow, rapid fire, or follow-recoil features, you need these mouse binds:

```cfg theme={null}
bind MOUSE1 +M1
bind MOUSE2 +M2
cl_scoreboard_mouse_enable_binding +M2
```

<Warning>
  If you use non-default mouse buttons, update these binds accordingly. For scoreboard functionality without ticker features, use `cl_scoreboard_mouse_enable_binding +attack2`
</Warning>

## Rapid Fire & Follow-Recoil Keybinds

These binds require special setup and are commented out by default:

```cfg theme={null}
//bind 1            "ef_slot1"      // primary
//bind 2            "ef_slot2"      // secondary
//bind 3            "ef_slot3"      // melee
//bind 4            "ef_slot4"      // cycle nades
//bind 5            "ef_slot5"      // bomb
//bind c            "ef_slot6"      // HE grenade
//bind f            "ef_slot7"      // flash
//bind g            "ef_slot8"      // smoke
//bind z            "ef_slot9"      // decoy
//bind scancode100  "ef_slot9"      // decoy
//bind v            "ef_slot10"     // molotov/incendiary
//bind q            "ef_lastinv"    // quickswitch
```

<Note>
  These `ef_` binds are required for rapid fire and follow-recoil features to work properly. See the [Disabling Features](/customization/disabling-features) page to learn how to disable features you don't need.
</Note>

## AZERTY Keyboard Layout

For French AZERTY keyboards, use scancode binds instead of letter keys:

```cfg theme={null}
bind "scancode44" +map_action  // scancode for M key on AZERTY
```

Resources:

* [SDL Scancode Reference](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_scancode.h#L218)
* [Scancode Bind Converter](https://totalcsgo.com/binds/converter)

## See Also

* [Disabling Features](/customization/disabling-features) - Learn how to disable unwanted features
* [Custom Radio Wheels](/customization/custom-radio-wheels) - Create your own radio wheel commands
