Bloody Esports Overview and CS2 Macros Guide
Button, Sensitivity, RGB and Macro tabs on a Bloody ES9 Pro, Single, Cycle and Auto macros, .bmc files, profiles on hotkeys and six CS2 macros with exact timings
Bloody Esports is the software for Bloody gaming mice from A4Tech. It sets CPI and polling rate, remaps buttons, creates macros, manages profiles and controls RGB lighting.
I show everything on my ES9 PRO: the tabs, how the macro editor works, where the .bmc macro files live, and how to create a macro and put it on a button. The second part has Counter-Strike 2 macros with exact timings: burst fire, fast scope, jump throw, bunny hop and others, for testing and casual play. If your mouse is from another brand, see my guides for Logitech G HUB, HyperX NGENUITY and Razer Synapse 4.
Bloody Esports Interface: Button, Sensitivity and RGB Tabs
Bloody Esports gives you as much control over the mouse as G HUB, NGENUITY or Synapse. The interface has four tabs: Button, Sensitivity, Macro and RGB. Macro gets its own section below.
Button Tab
Here you assign actions to the mouse buttons. On my ES9 PRO the default profile shows nine buttons, each doing its own job out of the box:
| # | Button | Default action |
|---|---|---|
| 1 | Right Button | Right Button |
| 2 | Middle Button | Middle Button |
| 3 | Scroll Up | Scroll Up |
| 4 | Scroll Down | Scroll Down |
| 5 | Forward | Forward |
| 6 | Back | Back |
| 7 | CPI+ | CPI+ |
| 8 | CPI- | CPI- |
| 9 | RGB Cycling | RGB Cycling |
The mouse really has 10 buttons, and in the other profiles all 10 can be rebound. In the default Standard profile the Left Button is hidden on purpose. Most mouse software does the same: if you remap the main click badly, it gets hard to even click your way back.
Any of the other buttons can be changed. The side buttons can stay Forward and Back, or become keyboard keys, commands, macros, Windows shortcuts and so on.
Like G HUB, NGENUITY and Synapse, Bloody Esports has profiles, but it uses them differently. In G HUB a profile is tied to a game, and in my experience auto switching doesn't always work. In Bloody a profile isn't tied to anything: you turn it on with a hotkey, on the desktop, in a program or in the middle of a game. More on that in the Profiles section.
Sensitivity Tab
This tab has CPI, polling rate, button response and sensor calibration.
DPI (Dots Per Inch) comes from screens and printing. CPI (Counts Per Inch) is how many movement counts the sensor registers per inch of mouse travel. For mice CPI is the correct term, DPI is what marketing usually writes for the same thing.
- CPI
- Five stages by default on the ES9: 1000, 1200, 1600, 2000, 3200. You can edit, remove or add stages.
- X / Y
- Top left. Off: both axes use one value. On: separate values, for example X = 1000 and Y = 800.
- Report Rate (Hz)
- How often the mouse sends data to the PC: 125, 250, 500, 1000 or 2000 Hz. For games most players use 1000 Hz, or 2000 Hz if the PC handles it without stutter.
- Key Response
- Button response delay. Lower is faster, so for shooters pick the lowest value: shooting, weapon switching and movement binds all depend on it.
- Sensor Calibration
- Adapts the sensor to your mousepad. Two options: Preset and Calibration.
Calibration is worth a try if the cursor shakes, the sensor loses tracking, the mouse works badly on one specific pad, or it stops or keeps tracking too early when you lift it.
Remember that CPI works before any game settings. Your real sensitivity in CS2 is CPI multiplied by the in-game sensitivity, so if you change CPI here, adjust the game value too.
RGB Tab
The RGB tab controls the lighting. Out of the box there are 13 effects: All black, Blue breath, Cyan breath, Green breath, Purple breath, Red breath, Red shine and Light Effect 1 to 6. They are grouped by type: Full Color, Animation and Algorithm.
The File option at the top left exports and imports lighting effects. The small lightbulb icon to the right of the RGB button sets LED brightness and can turn the lighting off completely.
How Macros Work in Bloody Esports
A macro in Bloody Esports is the same as anywhere else: a recorded or hand-made sequence of inputs. A simple one looks like this:
input 1 press -> X ms -> input 1 release -> X ms -> input 2 press -> ...
Like G HUB and Synapse, Bloody can hold several inputs at once. That matters when two buttons have to overlap for a moment. Jump Throw is a good example: first pull the pin with +attack, then almost instantly +jump. Two inputs, and the sequence looks like this:
input 1 press -> X ms -> input 2 press -> X ms -> input 1 release -> X ms -> input 2 release
You can record or add by hand mouse clicks, key presses, delays, repeats and combinations, then put the macro on a mouse button. Honestly, recording simple macros here isn't as smooth as in G HUB, but manual editing is faster once you get used to the icons.
Macro Types: Single, Cycle and Auto
The three modes are in the top right of the editor. I'll use a tiny test macro that types "hi":
h press -> 50 ms -> h release -> 75 ms -> i press -> 50 ms -> i release
- Single
- Runs once per press. The test macro types hi. Good for key combinations, quick commands and office tasks.
- Cycle
- Loops while you hold the button: hihihihihihi. Release the button and it stops.
- Auto
- A loop like Cycle, but as a toggle: press once to start, press the same button again to stop.
Macro Creation Icons
Under the modes there are four icons:
- Keyboard
- Inserts a key input.
- Mouse
- Inserts a mouse button input.
- Timer
- Adds a delay. Timing decides how the whole macro behaves, so this is the most important one.
- Record
- Records live actions with their delays. Better for long sequences. Afterwards clean it up: remove extra actions and accidental inputs, fix the delays.
Macro Files (.bmc) and Folders
Bloody doesn't assign a macro directly. First it's saved as a .bmc file, then that file is bound to a button in the selected profile. The file area is to the left of the modes.
The Directory, Category, Name and Remarks fields only show information: where the macro is, its type, its name and your notes. File Options creates, opens, edits and deletes folders and macro files.
The logic is close to config locations in CS2: macros load from one parent folder, and inside it you make your own categories. One folder for office, one for desktop actions, one for games, and inside games a folder per game. The default parent folder:
C:\Program Files (x86)\BloodyEsport\BloodyEsport\Data\Mouse\English\ScriptsMacros\GunLib\
It already has preset macro folders. You can try them, but most aren't useful and can be deleted. After that, on the next start Bloody may complain that the last used folder is gone, more exactly about missing None.bwd and Setting.ini. Click OK, create one folder with one macro inside, and the files are generated again. The warning won't come back.
How to Create a Macro in Bloody Esports
The process goes left, right, then left again. On the left you pick or create a folder in File Options. On the right you choose the macro type, Bloody asks you to create a file and fills in its category and name. You add the inputs, then go back to the left and save through File Options. Here is the whole thing with the "hi" macro.
-
I deleted everything from the parent folder, and after a restart Bloody warned me that the last used folder was missing:
"C:\Program Files (x86)\BloodyEsport\BloodyEsport\Data\Mouse\English\ScriptsMacros\GunLib\CS2" not exits!!
The warning when the last used macro folder is gone -
Go to
MACRO
,
File Options
,
New Folder
and create a folder, for example
CS2
. It shows up in the Directory field.
The CS2 folder selected in Directory -
Choose the macro type, for example
A: Single
. Bloody immediately says: "
You must create a new combo file to edit
".
Bloody asks for a new combo file before you can edit -
Click
Yes
and type a file name, for example
test_hi
. Category and Name are filled in.
The new test_hi file with category and name - Click the keyboard icon. A block appears with a key in the middle and a small arrow on the left. Arrow down is press, arrow up is release. Set the key to h and leave it as press.
-
Click the
timer
icon to add a delay. Bloody puts 64 ms by default. A normal key press is usually about 50 ms. Why 64, I don't know, probably it's just the standard pause between actions.
The finished test_hi macro: h and i with delays -
Add
i
the same way, then save:
File Options
,
Save
, and confirm with
SAVE
.
Saving A-test_hi into the CS2 folder -
Open the
BUTTON
tab, pick a button, for example Right Button, and click the small arrow on its right. In the list choose
Select Combo File
,
CS2
,
A-test_hi
.
A-test_hi from the CS2 folder assigned to a button -
Click
APPLY
at the bottom right. You should see "
[ Script Saved ]
".
Script Saved: the macro is on the button
Done. Open Notepad, press the right mouse button and it types hi.
How to Reset a Button or Use a Ready Macro File
- Restore one button: click the arrow next to A-test_hi and choose Mouse , Right Button , then APPLY.
- Reset everything: the update icon to the left of APPLY, then confirm.
- Ready .bmc file: put it into your folder (for example CS2) and bind it through Key , Select Combo File , CS2 , macro_file .
Bloody Esports Profiles: Switching With Hotkeys
Profiles are one of the best things in Bloody Esports. On the ES9 the main profile has 9 programmable buttons, because the Left Button is locked there. The other six profiles get all 10. In theory that's up to 69 button assignments: 9 in the main profile plus 60 across the other six.
To manage them, click the MODE icon in the top right of the BUTTON tab. There you rename profiles and change their hotkeys. A CS2 example:
- Rename Gaming2 to Test Profile 1 and put one test macro on the Left Button.
- Rename Gaming3 to Test Profile 2 and put another test macro on the Left Button.
| Hotkey | Profile |
|---|---|
| Ctrl + Alt + 1 | Default profile |
| Ctrl + Alt + 2 | Test Profile 1 |
| Ctrl + Alt + 3 | Test Profile 2 |
Simple, fast, convenient. No game detection that may or may not trigger, you decide when the profile changes.
CS2 Macros for Bloody Esports
These macros are here to show how the editor works and to test them on your own server or offline. Valve's position since August 2024: automating movement or shooting with scripts or hardware is not allowed, and on official servers it can get you kicked from the match. FACEIT and other platforms have their own rules, check them first.
Six macros from my Bloody Esports. Each table is the sequence from the editor: action, then the delay that follows it. ↓ is press, ↑ is release.
CS2 Burst Fire Macro
Burst3 holds the left mouse button just long enough for a short burst instead of a spray. Made for controlled bursts at longer range.
| # | Action | Delay after |
|---|---|---|
| 1 | LMB ↓ | 179 ms |
| 2 | LMB ↑ | 4 ms |
Type: Single. The short 4 ms at the end separates bursts when you press the button again and again.
How many bullets you get depends on the gun's fire rate. In the game files the AK-47 and M4A1-S fire every 100 ms, the M4A4, FAMAS and Galil every 90 ms. The third bullet comes at 180 ms with the 90 ms guns and at 200 ms with the 100 ms guns, so 179 ms is right on the edge. If you get two instead of three, raise the hold to about 190 ms for the M4A4 and 210 ms for the AK.
CS2 Fast Scope Macro
An old idea from Counter-Strike 1.6, known as Fast Zoom, Fast AWP, Quick Scope and so on. A quick right click, then a left click: the scope opens for a moment and the shot goes where the center of your screen already was.
With the AWP in CS2 it doesn't work like it did in older Counter-Strike, especially at long range. At close range it can still be useful sometimes.
| # | Action | Delay after |
|---|---|---|
| 1 | RMB ↓ | 44 ms |
| 2 | RMB ↑ | 61 ms |
| 3 | LMB ↓ | 14 ms |
| 4 | LMB ↑ |
Type: Single.
CS2 Jump Throw Macro
The classic jump throw bind (more correctly, a script) stopped working with the August 19, 2024 update. Binds with several actions on one key, like +jump; +attack, are now ignored. You can only turn them back on with cl_allow_multi_input_binds 1, and that command is cheat-protected. I have a separate guide with an alias-based jump throw script that gets around this, but a mouse macro is even more precise with timing.
| # | Action | Delay after |
|---|---|---|
| 1 | LMB ↓ (pull the pin) | 55 ms |
| 2 | Space ↓ (jump) | 107 ms |
| 3 | LMB ↑ (throw) | 46 ms |
| 4 | Space ↑ |
Type: Single.
CS2 Single-Shot Cycle Macro
Burst1 fires single shots in an even rhythm while you hold the button. It feels like tapping with the SCAR-20 or G3SG1, only faster and steadier.
| # | Action | Delay after |
|---|---|---|
| 1 | LMB ↓ | 17 ms |
| 2 | LMB ↑ | 175 ms |
| 3 | LMB ↓ | 17 ms |
| 4 | LMB ↑ | 190 ms |
Type: Cycle. About five shots per second.
CS2 Tec-9 Macro
Repeated left clicks with fixed timing for the Tec-9. Instead of clicking as fast as you can, you get an even rhythm that's easier to control, and the pistol starts to feel almost automatic. Useful if you struggle to click fast and keep the crosshair on target at the same time.
| # | Action | Delay after |
|---|---|---|
| 1 | LMB ↓ | 55 ms |
| 2 | LMB ↑ | 109 ms |
Type: Cycle. One shot every 164 ms. The Tec-9 itself can fire every 120 ms, so the macro never runs into its fire rate limit.
CS2 Bunny Hop Macro
Repeats the Space key with a fixed delay. On your own server you could simply turn on sv_autobunnyhopping 1 (auto re-jump while you hold jump), it doesn't need sv_cheats. The macro does the jumping from the keyboard side, so it works on any server, and you can tune the delay to your own rhythm. Speed is still capped at 1.1x unless the server has sv_enablebunnyhopping 1. The legal way to bunny hop on official servers is jump on the mouse wheel.
| # | Action | Delay after |
|---|---|---|
| 1 | Space ↓ | 50 ms |
| 2 | Space ↑ | 50 ms |
Type: Auto, one press starts it, the next stops it.
Conclusion
Bloody Esports isn't the cleanest or most modern mouse software, but its macro editor is stronger than it looks. Once you get the basic logic, press, delay, release, delay, everything else is easy. Build macros carefully: a few milliseconds change how a sequence feels, and in CS2 timing is everything. Short macros are quicker to make by hand with the keyboard, mouse and timer icons, long ones are easier to record and clean up. And profiles on hotkeys let you keep separate setups for work, programs and games without rebinding the same buttons again and again.
Bloody Esports Macro FAQ
Can Bloody Esports create macros?
Yes. The MACRO tab has an editor for key inputs, mouse clicks, delays and three modes: Single, Cycle and Auto.
What is the difference between Single, Cycle and Auto?
Single runs once per press. Cycle loops while you hold the button. Auto is a toggle: press once to start the loop, press again to stop it.
Where are Bloody Esports macros stored?
As .bmc files in C:\Program Files (x86)\BloodyEsport\BloodyEsport\Data\Mouse\English\ScriptsMacros\GunLib\, in the folders you create there.
Why can't I remap the Left Button?
It's locked in the default Standard profile so you can't break the main click. In the other profiles all 10 buttons can be rebound.
How do I reset a mouse button back to normal?
In the BUTTON tab click the arrow next to the macro, choose the original action, for example Mouse, Right Button, and click APPLY.
Can I use Bloody Esports macros in CS2?
Technically yes, the game just receives normal clicks and key presses. But Valve doesn't allow automating movement or shooting, and on official servers it can get you kicked from the match. Use them offline or on your own server, and check the rules of FACEIT or a tournament before you play there.


