Tylemagne / Gopher360

Gopher360 is a free zero-config app that instantly turns your Xbox 360, Xbox One, or even DualShock controller into a mouse and keyboard. Just download, run, and relax.
GNU General Public License v3.0
944 stars 169 forks source link
analog c-plus-plus couch game gaming gopher keyboard mouse xbox xinput

Download

Github All Releases

Donate

Donate

Compatible Controllers

Xbox 360

Xbox One

DualShock

DualShock controllers are great, but you NEED to emulate Xinput for Gopher to see and understand them. Fortunately, Xinput emulation is a very popular thing, as there are just as many people with DualShock controllers as there are Xbox controllers. Listings coming soon.

Third party

SOME third party controllers will most likely work as well. I haven't seen one not work, but I'd imagine some wouldn't. Research before buying, Gopher expects native Xinput devices, so the controller should as well. I won't be listing any for now until I know what ones will work. If I can find one that does the job and saves you from Microsoft's extreme profit margins, I'll list it.

Feedback

Static

Table of contents

About Gopher

Gopher is a utility for couch-oriented PC users that wish to entirely control their PC from the couch with a controller. Gopher works by transforming Xbox (or PlayStation, if using DS3Tool) controller input into traditional keyboard and mouse input that many applications and games still completely rely on with no controller-based alternative input options. The analog sticks move the mouse, the buttons click - it's very simple. Gopher completely skips this requirement and brings controller compatibility to ALL your applications and MOST of your games. Games like Runescape will be just fine. Crysis? Maybe not so much. It all depends on what amount of traditional input the game requires. Gopher is an excellent tool for PC gaming from the couch, as it's fully capable of web browsing, playing mouse-based games, controlling media players, and launching emulators. Don't stand up and waste calories, just download Gopher!

Gopher separates itself from the competition by being efficient, small, portable, free, and fully open. If you have something you'd like to see improved, added, or changed, please fill out the survey.

[Github Releases (by Release)]()

[GitHub repo size in bytes]()

[GitHub last commit]()

[GitHub top language]()

[GitHub release]()

[Github commits (since latest release)]()

Requirements

Gopher is incredibly great at being a standalone program, but with one major exception: it absolutely needs Visual C++ 2015 Runtimes to be installed. If you have run Windows Updates at least once in the lifetime of your computer, this really won't be an issue.

Using DualShock Controllers

DualShock controllers don't use typical xinput libraries like the X360 and Xbone controllers do, so you'll need something like InputMapper, SCP, DS4Windows, or DS3Tool to "emulate" an xinput device in order to get xinput-using applications like Gopher360 to understand it. Gopher360 DOES NOT automatically offer these emulation layers ( yet ;) ), so you'll need to use something to emulate it before Gopher can understand it.

Video Demonstration

https://vine.co/v/MYadBgWXuWY

Gopher Video 1

Gopher Video 2

Download Instructions

Download the latest release here: https://github.com/irungentoo/Gopher360/releases

I recommend that you copy it somewhere outside of the ZIP and make a shortcut to it. Adding it to your startup folder in your HTPC can make bootups a lot more convenient!

Default Controls

Gopher360 automatically generates a config file, which will contain documentation information on all input types and key bindings.

A: Left Mouse-Click.

X: Right Mouse-click.

Y: Hide terminal.

B: Enter.

D-pad: Arrow keys.

Right Analog: Scroll up/down.

Right Analog Click: F2.

Left Analog: Mouse.

Left Analog Click: Middle mouse click.

Back: Browser refresh

Start: Left Windows Key

Start + Back: Toggle. Useful for when you launch emulators or open Steam Big Picture mode. Press again to re-enable.

Start + DPad Up: Toggle gopher vibration setting.

LBumper: Browser previous

RBumper: Browser next

LBumber + RBummper: Cycle speed (x3)

LTrigger: Space

RTrigger: Backspace

Config file instructions

There is a configuration file (config.ini) that can be reconfigured for simple keybindings.

- IF YOU MESS SOMETHING UP, Gopher will automatically re-generate a config file.

You can set which controller buttons will activate the configuration events based on the official microsoft keys hexadecimal values.

Virtual Windows Keys: https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731

XInput Controller Buttons: https://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinput_gamepad%28v=vs.85%29.aspx

More instruction in the configuration file.

+ If you make a config file you feel could benefit people with the same use scenario as you, feel free to make a pull request for it in the public configs directory.

Build Instructions

Building is pretty straightforward, but you may get a "missing win32 include" error due to the solution targetting. Simply follow the instructions the error provides (Project -> Retarget solution) to ensure your project has a working link to the libraries it needs.

License

Gopher free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Controller GIF