Movement Types
CSAFAP offers three movement configurations:Default
Standard CS2 movement with subtick input
Null Binds
Snap-Tap style input cancellation
De-subtick
Tick-aligned movement inputs
Null Binds (Snap-Tap)
Null binds automatically cancel opposing movement keys, similar to Razer Snap-Tap keyboards.How Null Binds Work
- Hold W (forward)
- Press S (back) while still holding W
- S automatically cancels W input
- Release S → W resumes automatically
Null Binds Use Cases
Fast Jiggles
Fast Jiggles
Hold one strafe key and quickly tap the opposite for instant direction changes. Useful for:
- Pistol round AD spam
- Peeking corners with quick jiggles
- AWP shoulder peeks
Counter-Strafing Correction
Counter-Strafing Correction
Corrects the human error of not releasing the initial strafe key. You still need to release the counter-strafe key at the correct timing.
Enabling Null Binds
To disable: Select “DEFAULT MOVEMENT” from the same wheel.
De-subtick Movement
De-subtick binds force movement inputs to wait for the next server tick instead of using CS2’s subtick system.How De-subtick Works
forward -9999 f u command forces the input to wait for the next tick (“u” = until next tick).
De-subtick Benefits
- More CS:GO-like movement feel
- Consistent timing for movement inputs
- Better for players used to 64/128 tick servers
- May improve bhop consistency
Some players report de-subtick feels more predictable for counter-strafing. Test both to see which you prefer.
Enabling De-subtick
Movement Config Files
Default Movement
Null Binds (Ticker Version)
De-subtick Binds
Auto-Loading Movement Config
Set your preferred movement config to load on game start:Movement Ticker Requirements
The ticker enables frame-by-frame alias execution:.vtest script, allowing the multi-stage input logic.
Jump Binds
Movement configs also include de-subtick jump binds:- Better bhop consistency (128-tick style)
- Tick-aligned jump inputs
- Works with
sv_jump_spam_penalty_time 0.0078125
Crouch-Jump Bind
Crouch-jump (longjump) for getting on boxes:Crouch-jump binds were not removed by Valve patches and still work in CS2.
FaceIt Compatibility
Null Binds on FaceIt
Null Binds on FaceIt
FaceIt’s Community Manager confirmed null binds (Snap-Tap) are allowed in ranked PUGs:Official Reddit Response
De-subtick on FaceIt
De-subtick on FaceIt
De-subtick binds are allowed as they use the same alias commands as other features.
Troubleshooting
Movement keys not working
Movement keys not working
The ticker isn’t loading. Check:
- Launch option:
-testscript "../../csgo/cfg/csafap/addons/.vtest" - Config loaded without errors (check console)
- Commands in main.cfg aren’t too long (breaks exec)
Can't stop moving
Can't stop moving
Press the opposite direction key or type in console:
Null binds not canceling opposite key
Null binds not canceling opposite key
Make sure:
- Ticker is loaded (check console for W! spam on launch)
- You’re using the ticker version (nullWASD.cfg, not nullWASD_noticker.cfg)
- The bind actually loaded (type
bind win console to verify)
Console spam: Unknown command W!
Console spam: Unknown command W!
Ticker aliases aren’t initialized. This usually means:
- Missing launch option
- Config exec failed (command too long)
- Wrong file path (case-sensitive on Linux)
Comparison: Null vs De-subtick vs Default
| Feature | Default | Null Binds | De-subtick |
|---|---|---|---|
| Input timing | Subtick | Subtick | Tick-aligned |
| Opposite key cancel | No | Yes | No |
| Counter-strafe assist | No | Partial | No |
| CS:GO feel | No | No | Yes |
| Ticker required | No | Yes | Yes |
| Fast jiggles | Manual | Automatic | Manual |
| Bhop feel | Subtick | Subtick | 128-tick style |