Controller Companion

Controller Companion

74 ratings
Xbox 360 Chatpad Support
By Felizk
How to install and use the Xbox 360 Chatpad for Controller Companion.
   
Award
Favorite
Favorited
Unfavorite
Requirements
Installation
Chatpad uses a custom driver for the "Wireless Xbox 360 Gaming Receiver" that needs to be installed for it to work.

Installation is easy, turn it on in settings under "Advanced->Xbox 360 Chatpad".

After installation you need to unplug and replug your "Wireless Gaming Receiver" before you can use the chatpad.

Usage
Chatpad ONLY works when Controller Companion is ENABLED. While CC is enabled the controller cannot be used by other programs or games.

CC will still disable itself when you play games and that will return the controller functionality to normal.

Once CC has detected a connected controller it will enable the Chatpad driver, this will cause the controller to TURN OFF. This is to avoid the existing controller driver getting into a bad state before the custom driver takes over. Any time CC is re-enabled after having been disabled (by games or fullscreen apps), it will turn off your controller.

The controller may appear to connect and disconnect when the Chatpad is enabled or disabled, this is expected.

After the controller is first detected by CC, it may take a little while (up to about 10 seconds) before chatpad starts working.

Please report any other issues you discover.
Uninstallation
To uninstall the chatpad driver, go to the chatpad settings and turn it off.

Before disabling the chatpad support, you should disconnect the "Wireless Gaming Receiver", otherwise the uninstaller will be unable to remove every trace of the chatpad driver.

When you uninstall the driver, Controller Companion will exit, this is again in order to more completely clean up after itself.
F.A.Q.
Why does the chatpad not work on Wired Xbox 360 Controllers
Switching between the chatpad driver and the normal controller driver causes issues on the wired controller. CC is exploiting the fact that it's possible to turn off the controller before switching driver when using a wireless driver to ensure that the Windows Xbox 360 Driver doesn't end up in a bad state.

Why does the controller turn off all the time?
It's simply necessary to make sure Windows doesn't get into a bad state. The controller will turn off when ever you go from having the chatpad enabled to it being disabled.

Why is the chatpad not responding?
Either you didn't unplug and replug your wireless receiver after installation, or the driver is still waiting for the chatpad initialize (this should not take more than 5-6 seconds). Also make sure to exit settings (pressing OK) after enabling the chatpad (or restart the app).

Why can I not use the controller in games with Chatpad enabled?
The chatpad driver replaces the driver for the whole controller, meaning the games cannot read input from the controller anymore. When CC disables, it unloads the chatpad driver and restarts the controller, allowing it to be used as normal in games.

Can I rebind the keys?
At the moment there isn't an easy way to rebind the keys. See the following section for a difficult way to rebind the keys.

Why is the chatpad feature experimental
Honestly, I'm not sure it'll work for everyone. Writing drivers is tricky business, particularly for unsupported devices. Please give feedback on whether it works for you on the forums.

Custom configuration (Advanced)
At the time of writing this, there is no UI for customizing what the chatpad buttons do. Instead CC will read a config file with user customizations from your local app data folder.

c:\users\youruser\appdata\local\ControllerCompanion\ChatpadBindings.cfg

The format is the same as the other bindings configuration files and you can use the same commands.

In order to rebind a button on the chatpad to something else, you need to refer to the button by its Row, Column and Modifier (0-indexed), as such:

keyboard 1 2 0: str e

In this example I've bound the third (2) button on the second row (1) without any modifiers (0) to the string "e".

The modifier can have one of 3 values:

0: No modifiers
1: Green
2: Orange

If the modifier is left out, it is 0.

For reference these are the default chatpad bindings:
keyboard 0 0 @ D1: str 1 keyboard 0 1 @ D2: str 2 keyboard 0 2 @ D3: str 3 keyboard 0 3 @ D4: str 4 keyboard 0 4 @ D5: str 5 keyboard 0 5 @ D6: str 6 keyboard 0 6 @ D7: str 7 keyboard 0 7 @ D8: str 8 keyboard 0 8 @ D9: str 9 keyboard 0 9 @ D0: str 0 keyboard 3 8 @ Enter: key enter norepeat keyboard 4 1 @ Left: key left keyboard 4 2 @ Space: key space keyboard 4 3 @ Right: key right keyboard 4 4 @ Backspace: key back keyboard 0 0 1 @ D1: str 1 keyboard 0 1 1 @ D2: str 2 keyboard 0 2 1 @ D3: str 3 keyboard 0 3 1 @ D4: str 4 keyboard 0 4 1 @ D5: str 5 keyboard 0 5 1 @ D6: str 6 keyboard 0 6 1 @ D7: str 7 keyboard 0 7 1 @ D8: str 8 keyboard 0 8 1 @ D9: str 9 keyboard 0 9 1 @ D0: str 0 keyboard 3 8 1 @ Enter: key enter norepeat keyboard 4 1 1 @ Left: key left keyboard 4 2 1 @ Space: key space keyboard 4 3 1 @ Right: key right keyboard 4 4 1 @ Backspace: key back keyboard 0 0 2 @ D1: str 1 keyboard 0 1 2 @ D2: str 2 keyboard 0 2 2 @ D3: str 3 keyboard 0 3 2 @ D4: str 4 keyboard 0 4 2 @ D5: str 5 keyboard 0 5 2 @ D6: str 6 keyboard 0 6 2 @ D7: str 7 keyboard 0 7 2 @ D8: str 8 keyboard 0 8 2 @ D9: str 9 keyboard 0 9 2 @ D0: str 0 keyboard 3 8 2 @ Enter: key enter norepeat keyboard 4 1 2 @ Left: key left keyboard 4 2 2 @ Space: key space keyboard 4 3 2 @ Right: key right keyboard 4 4 2 @ Backspace: key back keyboard 1 0: str q keyboard 1 1: str w keyboard 1 2: str e keyboard 1 3: str r keyboard 1 4: str t keyboard 1 5: str y keyboard 1 6: str u keyboard 1 7: str i keyboard 1 8: str o keyboard 1 9: str p keyboard 1 0 1: str ! keyboard 1 1 1: str @ keyboard 1 2 1: str € keyboard 1 3 1: str # keyboard 1 4 1: str % keyboard 1 5 1: diacritic ^ keyboard 1 6 1: str & keyboard 1 7 1: str * keyboard 1 8 1: str ( keyboard 1 9 1: str ) keyboard 1 0 2: str ¡ keyboard 1 1 2: str å keyboard 1 2 2: str é keyboard 1 3 2: str $ keyboard 1 4 2: str þ keyboard 1 5 2: str ý keyboard 1 6 2: str ú keyboard 1 7 2: str í keyboard 1 8 2: str ó keyboard 1 9 2: str = keyboard 2 0: str a keyboard 2 1: str s keyboard 2 2: str d keyboard 2 3: str f keyboard 2 4: str g keyboard 2 5: str h keyboard 2 6: str j keyboard 2 7: str k keyboard 2 8: str l keyboard 2 9: str , keyboard 2 0 1: diacritic ~ keyboard 2 1 1: str š keyboard 2 2 1: str { keyboard 2 3 1: str } keyboard 2 4 1: diacritic ¨ keyboard 2 5 1: str / keyboard 2 6 1: str ' keyboard 2 7 1: str [ keyboard 2 8 1: str ] keyboard 2 9 1: str : keyboard 2 0 2: str á keyboard 2 1 2: str ß keyboard 2 2 2: str ð keyboard 2 3 2: str £ keyboard 2 4 2: str ¥ keyboard 2 5 2: str \\ keyboard 2 6 2: str \" keyboard 2 7 2: str © keyboard 2 8 2: str ø keyboard 2 9 2: str ; keyboard 3 0: str z keyboard 3 1: str x keyboard 3 2: str c keyboard 3 3: str v keyboard 3 4: str b keyboard 3 5: str n keyboard 3 6: str m keyboard 3 7: str . keyboard 3 0 1: diacritic ` keyboard 3 1 1: str « keyboard 3 2 1: str » keyboard 3 3 1: str - keyboard 3 4 1: str | keyboard 3 5 1: str < keyboard 3 6 1: str > keyboard 3 7 1: str ? keyboard 3 0 2: str æ keyboard 3 1 2: str œ keyboard 3 2 2: str ç keyboard 3 3 2: str _ keyboard 3 4 2: str + keyboard 3 5 2: str ñ keyboard 3 6 2: str µ keyboard 3 7 2: str ¿
54 Comments
Blue Sep 22, 2023 @ 1:16pm 
I got it work as the CTRL key ("keyboard 4 0 @ Ctrl: key LControlKey") but it won't work in conjunction with another button...
Blue Sep 22, 2023 @ 12:53pm 
How do I set up 2nd button on the 5th row (the one with two people on it) to act as a ctrl/control button? I've tried "keyboard 4 1 0: str ctrl" to no luck.
Bohrok Gaming Jul 3, 2023 @ 4:40pm 
can you rebind the bottom (4th) row? I'd like to rebind the social button and left/right arrow keys besides the spacebar to things like CTRL, ALT and TAB
exOt.ik Dec 30, 2021 @ 6:10pm 
If anyone needs, you can find the bindings config files for AZERTY and QWERTZ layout here : https://github.com/exOGit/ControllerCompanion_ChatpadBindings.cfg
exOt.ik Dec 30, 2021 @ 2:54pm 
@Canaan
=> Yes it works with wired controller, it's what i'm using and it's working perfectly.
=> In-game support is indeed absent.
lucasbohngarcia Dec 22, 2020 @ 10:53am 
I need help would improve the xbox 360 chatpad driver because it doesn't work when I'm playing it only works when in mouse mode
mflesche Nov 30, 2020 @ 2:35pm 
Hey great job It works well for me. I was just wondering if anyone knew a way to allow for the chatpad buttons to work in game as Keyboard inputs. I was messing around in AOE3 DE and was trying to use the chatpad to press Q and W and it did not seem to work. What was odd is that in the same game I could type using the chatpad just fine for ingame messages and changing my in game name. It may be that the chatpad input is registered as a "button" rather than a keystroke but I just wanted to see if anyone had any luck with getting it to work.
Urhfthogg Aug 27, 2020 @ 9:18am 
it working! But once in a few movements of the
stick or pressess of buttons it acts like button keps pressed down for a few seconds' cursor keeps moving in one direction even when its released. this bug happens only with chatpad connected. joystick and chatpad are original.
MbA May 27, 2019 @ 4:32pm 
This comment has been done with a Chatpad because it worked! thnxx <3
Athetos May 25, 2018 @ 8:17am 
yes i read everything but still not work