Games

Your health on the number row, your clip or your mana on the function keys, the keyboard white when a flashbang goes off, red while the bomb ticks or while your hero waits to respawn. Counter-Strike 2 and Dota 2 tell Candeo what happens in your game, and your keyboard shows it.

Connect Counter-Strike 2

  1. In Settings, tick Valve's game state integration: a Games tab appears.
  2. In Games, click Connect next to Counter-Strike 2: its effect on your keyboard during a match, your usual effect back after it.
  3. Start the game — or restart it if it was running: it reads the connection when it starts.

To try it without a real match: Play › Practice › With bots. With the developer console on and sv_cheats 1, give weapon_flashbang or, playing terrorist, give weapon_c4 tries the flash and the bomb.

The Counter-Strike 2 effect

Every colour is a setting, and so is the flash's strength. Before the game says anything, both bars glow faintly: waiting, not broken. Effects made for a game stay out of the gallery's main list: they are in its Games group, folded, and on the game's card.

Dota 2

Connected the same way, in Games, with one step more: Dota 2 reads the connection only when started with -gamestateintegration. In Steam, open Dota 2's Properties and add it to its Launch options, then start the game.

Make it your own

What the game says arrives as signals, so everything signals do works with it — a rule, a setting following a value, an effect of your own:

Signal Value
cs2.health cs2.armor0 to 100
cs2.ammothe clip of the weapon in hand, 0 to 100 %
cs2.flashed cs2.burning0 to 100
cs2.bombnone, planted, defused or exploded
cs2.phasefreezetime, live or over
dota2.health dota2.mana0 to 100
dota2.respawnthe seconds before respawning, while dead
dota2.stunned dota2.silenced dota2.smokedyes while it lasts
dota2.daytimeday or night
dota2.phasepre_game, game_in_progress, post_game…
When cs2.bomb is exploded · on the keyboard · show Lightning · for 3 seconds

The one Connect makes, While playing Counter-Strike 2, is such a rule — while cs2.phase is set — listed in Automations with the others, where its priority can be changed.

Only your own values: while you spectate a teammate, theirs are not shown as yours. They last fifteen seconds and the game renews them every five, so quitting the game leaves nothing frozen on the keys.

How it works

Counter-Strike 2 has a feature of its own, Valve's game state integration: a small file in the game's folder names where to send its state, and the game sends it there as it changes. Connect writes that file, pointing at Candeo on your computer. Nothing reads the game's memory or its screen — it is the game telling what it chooses to tell, which is why it is safe with anti-cheat.

It goes to Candeo's local signals API, behind a token of its own, and stays in memory: nothing of your game reaches the disk or the log, and nothing leaves your computer. Disconnect removes the file.

Dota 2 has the same integration, and is next. The design is in docs/design/game-state-integration.md.