[PC] Link Xbox Controller Buttons to Hotkey (like Teamspeak)
May 15, 2016 4:36:30 GMT
nrainier, redlaserbm, and 3 more like this
Post by FriendlyBaron on May 15, 2016 4:36:30 GMT
This guide contains multiple ways to use keys from the Xbox Controllers as hotkeys, like for muting/unmuting yourself on teamspeak. Feel free to post here if you have questions or need help.
Method 1: Without External Programs
Sometimes, your Xbox button will work for hotkeys right out of the box. For Teamspeak, you can use it as a hotkey in the Options page, as seen here:
Method 2: Xbox Guide Button (Best used for Xbox 360 Controllers, but may work for others)
I found a great program made by /u/pinumbernumber (reddit) that lets you map the Guide Button (the big green X on the controller) to work as any hotkey. Just a note that Xbox One controllers should inherently work without this program, but if it doesn't, this program works for you too.
1. Download [Version 6] from here: www.reddit.com/r/emulation/comments/1goval/any_way_to_map_the_middle_xbox_360_button/camujj7
2. Unzip the file
3. In the button2.ini, edit line 6 (key =) to choose which button your guide button should be. A list of all the keys can be found down at the bottom starting on line 59. Personally, I use Scroll Lock (145) as it doesn't do anything except in Excel.
4. Run the Program
5. In Teamspeak, go to Settings -> Options -> Hotkeys
6. Hit "+Add" then click on "Not Hotkey Assigned" then click on your Guide Button and if everything was done right, it will register as the key you assigned it.
7. Now select what the Button should do. For mic-mute, go to Microphone -> Toggle Microphone Mute. Speaker is Speaker -> Toggle Speaker Mute. Almost everything in teamspeak is hotkey-able. If you want it to do multiple functions, just add another function the same way.
If you get a window like this - i.imgur.com/MwqRxWP.png - you need to end XboxStat in Task Manager. Xbox Status comes with the official drivers, but can be disabled without harm.
1. Press the windows key, type msconfig.exe and press enter
2. Click the startup tab
3. Scroll down until you find Microsoft Xbox 360 Accessories (in the Command column it will be something like C:\Program Files\Microsoft Xbox 360 Accessories\Xboxstat.exe), then uncheck its box
4. Click ok
5. If a popup notifies you that you made changes, tell it not to remind you again, unless you want that annoying popup each time you boot up
6. After you next restart, Xboxstat.exe won't clog up your resources any more.
Method 3: All other buttons using AutoHotKey
This method will require you to install AutoHotKey and is for somewhat advanced users: autohotkey.com/
First, you will want to download and run the sample Joystick test script: autohotkey.com/docs/scripts/JoystickTest.htm
This will tell you what buttons are named what - it's often different per controller and computer.
I have created a few modified versions of this code that make button actions. You can modify them further based on the buttons you need:
Left Dpad = pastebin.com/raw/fQtbEeJu - This uses the Radio Button In-Game (Since I have the radio off) to toggle my mic mute in/out of game. XButton1 is mapped to Mouse Button 4 on my mouse. You can change it to something like Space or NumpadAdd - autohotkey.com/docs/KeyList.htm
A Button = pastebin.com/raw/y1a82e5F - This uses the Green A button to toggle some key, for example the PgUp button which I use to cycle through my Teamspeak servers.
Method 3.5: AutoHotKey with Xinput
When using Xbox One Controllers or Windows 10, you may need to use Xinput instead.
First, get Xinput.ahk from here for AHK 1.1 - autohotkey.com/board/topic/35848-xinput-xbox-360-controller-api/
Then, create a new .ahk file and put this as the contents: pastebin.com/48qznAPT. Note that your new .ahk and Xinput.ahk need to be in the same folder.
My example script works with the buttons - look at replaceWithNumberCombo and replaceWithButtonToPress, you will need to figure out what they are for your setup. For me, I use the left DPAD, so replaceWithNumberCombo is 4, and I mute/unmute with NUMPAD_0, so that's replaceWithButtonToPress.
Triggers or other more advanced buttons can be used with the Xinput.ahk docs (see the file itself). Full button remapping is possible if the Xinput.ahk wrapped is improved.
Method 1: Without External Programs
Sometimes, your Xbox button will work for hotkeys right out of the box. For Teamspeak, you can use it as a hotkey in the Options page, as seen here:
Method 2: Xbox Guide Button (Best used for Xbox 360 Controllers, but may work for others)
I found a great program made by /u/pinumbernumber (reddit) that lets you map the Guide Button (the big green X on the controller) to work as any hotkey. Just a note that Xbox One controllers should inherently work without this program, but if it doesn't, this program works for you too.
1. Download [Version 6] from here: www.reddit.com/r/emulation/comments/1goval/any_way_to_map_the_middle_xbox_360_button/camujj7
2. Unzip the file
3. In the button2.ini, edit line 6 (key =) to choose which button your guide button should be. A list of all the keys can be found down at the bottom starting on line 59. Personally, I use Scroll Lock (145) as it doesn't do anything except in Excel.
4. Run the Program
5. In Teamspeak, go to Settings -> Options -> Hotkeys
6. Hit "+Add" then click on "Not Hotkey Assigned" then click on your Guide Button and if everything was done right, it will register as the key you assigned it.
7. Now select what the Button should do. For mic-mute, go to Microphone -> Toggle Microphone Mute. Speaker is Speaker -> Toggle Speaker Mute. Almost everything in teamspeak is hotkey-able. If you want it to do multiple functions, just add another function the same way.
If you get a window like this - i.imgur.com/MwqRxWP.png - you need to end XboxStat in Task Manager. Xbox Status comes with the official drivers, but can be disabled without harm.
1. Press the windows key, type msconfig.exe and press enter
2. Click the startup tab
3. Scroll down until you find Microsoft Xbox 360 Accessories (in the Command column it will be something like C:\Program Files\Microsoft Xbox 360 Accessories\Xboxstat.exe), then uncheck its box
4. Click ok
5. If a popup notifies you that you made changes, tell it not to remind you again, unless you want that annoying popup each time you boot up
6. After you next restart, Xboxstat.exe won't clog up your resources any more.
Method 3: All other buttons using AutoHotKey
This method will require you to install AutoHotKey and is for somewhat advanced users: autohotkey.com/
First, you will want to download and run the sample Joystick test script: autohotkey.com/docs/scripts/JoystickTest.htm
This will tell you what buttons are named what - it's often different per controller and computer.
I have created a few modified versions of this code that make button actions. You can modify them further based on the buttons you need:
Left Dpad = pastebin.com/raw/fQtbEeJu - This uses the Radio Button In-Game (Since I have the radio off) to toggle my mic mute in/out of game. XButton1 is mapped to Mouse Button 4 on my mouse. You can change it to something like Space or NumpadAdd - autohotkey.com/docs/KeyList.htm
A Button = pastebin.com/raw/y1a82e5F - This uses the Green A button to toggle some key, for example the PgUp button which I use to cycle through my Teamspeak servers.
Method 3.5: AutoHotKey with Xinput
When using Xbox One Controllers or Windows 10, you may need to use Xinput instead.
First, get Xinput.ahk from here for AHK 1.1 - autohotkey.com/board/topic/35848-xinput-xbox-360-controller-api/
Then, create a new .ahk file and put this as the contents: pastebin.com/48qznAPT. Note that your new .ahk and Xinput.ahk need to be in the same folder.
My example script works with the buttons - look at replaceWithNumberCombo and replaceWithButtonToPress, you will need to figure out what they are for your setup. For me, I use the left DPAD, so replaceWithNumberCombo is 4, and I mute/unmute with NUMPAD_0, so that's replaceWithButtonToPress.
Triggers or other more advanced buttons can be used with the Xinput.ahk docs (see the file itself). Full button remapping is possible if the Xinput.ahk wrapped is improved.