By Mike Clements posted Feb 07th 2012
It never fails to annoy my wife when she walks into my office and sees me playing a game. "I thought you were working" she says. Of course I explain to her that certain Corsair products require extensive product testing in the most demanding environments. This definitely applies to our new Vengeance gaming mice and keyboards. I have recently been giving them in depth exhaustive testing with Battlefield 3.
My first modern FPS (Doom on the 7 floppy disks in my 486 DX-2 days doesn't count) was Battlefield 2. I remember discovering the joy of the Spec Ops class and blowing things up with C4. Buggy bombs, launching myself over walls, and blowing up tanks were just a few of the many joys I found there. I even remember getting a couple of helo kills by C4ing a chopper someone was using to cap a flag.
Well it's just as fun using C4 to demolish your enemies and their assets in BF3, and I wanted to make my Vengeance M60 laser gaming mouse do some of the work for me. My idea was to program a mouse button to deliver the three C4 charges with one push of a button as opposed to doing it the old fashioned way with three individual mouse clicks. I immediately ran into three essential issues with doing this.
Let's start with issue number one — there is no direct option in the BF3 key bindings to assign the "place C4" action. To place the C4, you must right click using the right mouse button or, RMB. If you look in key bindings, the only assignable action that uses RMB is the "Zoom" action where you zoom in on your weapon sights.
In order for macros in Battlefield 3 to function correctly you must use the Vengeance Gaming Software's Hardware Playback mode which is outlined in the M90 users guide. After reading the M90 software users guide, I discovered that the basics of programming a macro on the K90 applied almost exactly to the M90 and M60 with some subtle exceptions in the GUI. I decided to go back to basics and use the K90 keyboard to verify that I could get the C4 macro to work. Several other Corsair employees that play BF3 have had no issues running basic macros, but this situation was a bit more complex.
As you can see in the bindings picture above, I assigned the zoom, function to the keyboard letter "P". I chose this key since it is very far away from the WASD movement keys and I was not likely be push it accidentally. When I tested this binding in the game, the "P" key caused my soldier to zoom in his weapon sights just like I wanted. And, when holding the detonator and hitting the P key, my soldier would drop a single pack of C4. Hooah!
Next, I mapped the K90's G18 macro key to activate the "P" button three consecutive times. I tested in game and it worked to zoom in the weapon sight three times, but it would not work for placing the C4.
At first I was confused by the macro behavior, but then I remembered that in BF3 there is a mandated delay in how fast the soldier is allowed to place C4 charges. I guess the game designers don't want you C4'ing people too quickly. The default macro time between actions is .050 seconds. So as a test, I decided to increase the delay time in between each iteration of "P" to a full 1.000 seconds. When I again tested my G18 key P pressing macro in BF3, the one second delay solved the second issue and I dropped the C4 three times, hooah!
This brings us to the third issue with some macros in BF3. The Vengeance Gaming Software does not currently allow a user to program a macro button on the mouse to perform a LMB or RMB click. So, I instead programed a macro on my Vengeance Mouse to enact the keyboard letter "P" three times with the proper delay. Here is how I did it — first, in your BF3 key bindings, pick a key on your keyboard to enact the placing of the C4. "P" worked for me but any button you like should work as long as it is not already bound to another action in the game.
Next, pick the mouse button to which you want to assign the action. I used the 6 button on the M60 and the 12 button on the M90. The procedure shown here is from the M60 and is the same for each mouse. Once you have selected the mouse button you want to program, program the macro to enact your chosen keyboard button three times.
Once you have programmed the macro, right click each delay time in between each iteration of "P" and change it to .375 seconds. I tested and determined that this is the minimum delay you can use and still have the macro work. If the delay is less than .375 seconds, the macro will enact "P" three times and place one C4 charge, not three charges. The game will only register the first one, ignoring the next two. Trust me, you don't want to go after an M1 Abrams with only one C4 charge.
Here is what your macro should look like after you have selected your three keys and changed the delay time between each key.
Placing C4 more than three times will not help, as you can only disperse three C4 charges without having a fresh ammo pack to resupply from. Three charges is typically enough to kill a tank. And, I would not suggest dallying around dropping an ammo pack and reloading when you are out in the open trying to destroy an enemy tank!
To store the macro using the Vengeance software, as noted in the M90 users guide, you must save the programmed button or buttons to the mouse or keyboard's onboard memory. I habitually "Save to M60" between each set of changes in programming and editing macros so that I do not lose work. The save button is circled in red below. Also, as noted in the M90 users guide, you must assign a Hardware Playback profile to a specific application. You do this by right clicking on the profile under the manage profiles button and selecting Assign Application.
Then, assign your desired profile to the BF3.exe application which is in your Program Files (x86) > Origin Games > Battlefield 3 folder as shown below. Save it again before exiting.
You are now ready to demolish some enemy tanks or anything else you want to pack with C4. Just be sure to get a good safe distance away from the tank before hitting the detonator. Oh, and try not to let the tank driver see you coming like I have a few times :-(