summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface
AgeCommit message (Collapse)Author
2013-09-18[InputCommon] Fix a bug in ControllerInterface::UpdateOutput() in ↵Lioncash
ControllerInterface.cpp. The variable ok_count was never incremented, which caused the function to always return false.
2013-09-11Fix "modifier" button functionality et al.Jordan Woyak
2013-09-01A bunch of trivial changes to fix clang warnings.comex
2013-08-15Fix compatibility with the SDL2.0 release.Pierre Bourdon
SDL2.0 removed SDL_HAPTIC_SQUARE because of ABI issues (see comment #7 on issue 6491 by Ryan C. Gordon from the SDL project). It will be reintroduced again in 2.1, so keep the code and #ifdef it away.
2013-08-09Revert "Fix a memory leak in ExpressionParser.cpp"Pierre Bourdon
This reverts commit cce809ac90cc195f0c88a6cc788b3ff7359083a5. The code was actually correct: "expr" is never allocated when an error is returned. This means when the expression parser fails, deleting "expr" means deleting an uninitialized pointer.
2013-08-08Fix a memory leak in ExpressionParser.cppLioncash
Because there's a return here, expr should be deleted since it's not assigned to anything before returning.
2013-07-22InputConfigDiag: Add a simple error status labelJasper St. Pierre
This tells you what you did wrong at a high level if you messed up.
2013-07-20Clean up all the GetName methods for XInput2 controls.Max Eliaser
2013-07-20Add X11 XInput2 input plugin, including MPX and with support for axis controls.Max Eliaser
Based on the original XLib plugin, and thus shares some of its warts.
2013-07-12ExpressionParser: Parse fully qualified control names correctlyJasper St. Pierre
Without clearing out the "accumulator" for the backtick parsing, our control name was full of junk (the previous device name) causing us to not correctly find the control. Ensure that always we clear the "accumulator" string during backtick parsing.
2013-07-02Fix a case where a boolean check (vector.empty()) was used when a clear ↵Lioncash
(vector.clear()) was intended in ExpressionParser.cpp.
2013-06-29InputConfigDialog: Don't show "..." for complicated expressionsJasper St. Pierre
Just show the actual expression. We need to do a bit of mangling here as wx has no way to turn off mnemonics parsing, so do that as well.
2013-06-27ExpressionParser: Search for control names firstJasper St. Pierre
Otherwise, valid control names like "Cursor X+" would be incorrectly tokenized as "`Cursor` `X` +", causing the parser to first abort trying to find a control named `Cursor` rather than aborting with invalid syntax on the bad binop. We could also do this by resolving devices lazily, but since simple control name bindings are going to be 90% of usecases, just look for these first.
2013-06-26DInputJoystick: Fix compileJasper St. Pierre
Whoops. MSVC++ messed up somehow and didn't tell me it didn't work locally.
2013-06-26DInputJoystick: Always exclude XInputJasper St. Pierre
Yeah, yeah, it's possible that some guy would try to build DInput without XInput, but they're crazy, and I doubt it would have worked since the header file mess was so fragile anyway. Always exclude DInput devices when we don't have XInput.
2013-06-26ExpressionParser: Add support for simple barewords control namesJasper St. Pierre
If an expression can't be parsed normally, we then look to see if it's a simple device name. This keeps backwards compatibility with simple input ocnfigurations, where people just used the Detect button.
2013-06-26ExpressionParser: Don't crash when we can't find a deviceJasper St. Pierre
2013-06-25ExpressionParser: Fix delimiter scanningJasper St. Pierre
We need to make sure we eat the delimiter, otherwise we'll notice the colon / backtick and think it's either a new control or part of the control name
2013-06-25InputConfigDiag: Use "..." for complicated expressionsJasper St. Pierre
The full expression is quite often too big for a simple button label, so encourage people to use the full editor to edit it.
2013-06-25ExpressionParser: Support bare words for simple control namesJasper St. Pierre
Using backticks for all control names can get a bit grating, so support "A & B" instead of requiring "`A` & `B`".
2013-06-25ExpressionParser: Add support for the add operatorJasper St. Pierre
Use "+" instead of "^" this time.
2013-06-25InputCommon: Add a new ExpressionParser to replace the old hack languageJasper St. Pierre
This contains a new, hand-written expression parser to replace the old hack language based on string munging. The new approach is a simple AST-based evaluation approach, instead of the "list of operations" infix-based hack that there was before. The new language for configuration has support for parentheses, and counts "!" as a unary operator instead of the binary "NOT OR" operator it was before. A simple example: (X & Y) | !B Explicit device references, and complex device names ("Right Y+") are handled with backticks and colons: (`SDL/0/6 axis joystick:Right X+` & `DInput/0/Keyboard Mouse:A`) The basic editor UI that inserts tokens has not been updated to reflect the new language.
2013-06-25InputCommon: Split Device stuff outJasper St. Pierre
The ExpressionParser needs this to be out of here to prevent issues with cyclic references.
2013-06-18[Android] Gamepad input. Refactor JNI native functions to all pull from a ↵Ryan Houdek
single class instead of everywhere willy-nilly
2013-04-19Fix a bunch of random typos in comments and logging.lioncash
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-14Merge branch 'Android-trash' since it is no longer quite so trashy.Ryan Houdek
2013-04-14Add a Androind ControllerInterface class for allowing input in a non-hacky ↵Ryan Houdek
way. Add a default GCPad.ini file so it actually works.
2013-04-14Kill off dangling else's in the InputCommon project.Lioncash
Some indentations were also too far for some things. Fixed this. Also update the license header to show Git instead of SVN. Got rid of some trailing spaces/tabs too.
2013-03-02Merge branch 'master' into windows-unicodeJordan Woyak
2013-03-01Fixes two memory leaks, one is pretty bad for OSX.Matthew Parlane
Yell at pauldachz if this doesn't work. Or... say thanks.
2013-02-27Use the new UTF-16 conversion function in two places.Jordan Woyak
2013-02-05Fix compilation with SDL2. (based on a patch from matthewharveys)Jordan Woyak
Fixes issue 5971.
2013-02-05Clean up SDL includes a bit. Maybe fix an SDL2 problem.Jordan Woyak
2013-02-05Number "unknown" axes in OSX rather than call them all "unk".Jordan Woyak
2013-01-17Add support for the mouse cursor and mouse clicking events on OS X.Grant Paul
2013-01-17Add "full analog surface" support in DInput,OSX,SDL backends. (should not be ↵Jordan Woyak
needed for XInput)
2013-01-17Start to make possible use of "full analog surface". (useful for triggers on ↵Jordan Woyak
some silly physical gamepads)
2013-01-13Fix two warnings.Jordan Woyak
2013-01-09Don't hardcode left-shift to disabe keyboard input on linux.Jordan Woyak
Left-shift can be used for gamepad input now. Fixes issue 4968.
2013-01-07Fixed the infinite rumble problem caused by r4d6056f14625.skidau
2013-01-01* Implemented working pedal support.skidau
* Changed the mapping of the steering wheel to: Main Stick Left/Right = Steer Left/Right Main Stick Up = Accelerate Main Stick Down = Brake * Fixed non-force feedback controllers that were not detected
2012-12-30Added preliminary GameCube Steering Wheel emulation via a PC Force Feedback ↵skidau
Steering Wheel.
2012-12-10Clean up gcc/g++ compiler warnings that have accumulated.Glenn Rice
2012-07-14Re-add hack to use SDL/SDL.h ifndef _WIN32.Scott Moreau
The correct convention is to use #include SDL.h in all cases but we have to do this so Externals/SDL builds, which isn't in the best shape.
2012-07-12Add periodic effects for haptic devices.Scott Moreau
This adds support for drivers supporting sine, square and triangle periodic haptic effects. This allows rumble to work on devices/drivers supporting these effects, such as an xbox controller using the xpad driver under Linux.
2012-07-12Add SDL2 support to build system.Scott Moreau
Dolphin code already builds against SDL2 but the build system never checks for SDL2, which is the what latest SDL is called now. SDL2 replaces SDL 1.3. This allows Dolphin to be build against SDL2, which activates certain new features such as the haptic interface.
2012-05-02Fix DirectInput D-Pad handling.Billiard26
2011-12-12Merge branch 'fix-real-gcpad-sticks'Jordan Woyak
2011-12-12detect input at 55% to catch silly c-stick rangeJordan Woyak
2011-10-01Fixed the controller config so that it lists DInput controllers with special ↵skidau
characters (like the Registered (R) sign) in their name. UTF8 is used to match the encoding used by the Wx GUI.