Commit Graph

49 Commits

Author SHA1 Message Date
Tyler Wilding ef96e050f9
Resolve Recording Issues for Linux / OnePad users (#3293)
* git: Ignore uncaught linux build artifacts

* onepad-legacy: Return legitimate key event on `PADkeyEvent` call

Onepad-legacy was the plugin that was building and being used on my linux environment.  I'm not sure if t hat's expected and normal 'onepad' has yet to take over.

* onepad: Return legitimate key event on `PADkeyEvent` call

* recording: Remove unnecessary `PadKeyDispatch(ev)` wrapping func

* recording: Cleanup key event handling when GSFrame CoreThread is paused

* recording: Refactor recording status check to be more explicit

* recording: Define additional key bindings for capitalized varient

Despite the advice of the docstrings in these files, on linux this seems to be required for the bindings to consistently fire.

* onepad: Declare `AnalyzeKeyEvent` not static

* recording: Ensure file extension is appended to recording file on linux

* recording: Correct typo in comment

* recording: Better wording around linux keybinding handling

* Remove unneeded `extern`
2020-07-25 17:58:50 -07:00
tellowkrinkle f9771c38a6
macOS fixes (#3357)
* macOS compile

* Fix memprotect error on macOS

* Fix semaphore wait + thread cancel on macOS

* Fix timedlock timeout calculation

* spu2-x macOS

* onepad macOS support

* Add MacOS game controller db

* Disable onepad_legacy on macOS

* Fix spu2-x configuration crashes

* Make recompiler work on 32-bit macOS

* Use dylib extension for plugins on macOS

* Make app bundle on macOS

* Use git info for Info.plist version
2020-05-23 23:19:47 -07:00
Gregory Hainaut 7597b31215 onepad: replace conf pointer by g_conf object 2017-05-03 12:03:56 +02:00
Gregory Hainaut db4f28f4ca onepad: replace key_status pointer by g_key_status object 2017-05-03 12:03:56 +02:00
Gregory Hainaut b09a82fb94 onepad: remove dead code 2017-05-03 12:03:56 +02:00
Gregory Hainaut f91faacc53 onepad: remove autorepeat deadcode
a9af374 onepad: don't touch autorepeat setup
2017-04-28 11:27:19 +02:00
Gregory Hainaut e408b3ab02 onepad: replace pthred/queue with std::mutex/mt_queue
v2: based on turtleli feedback
rename m_q into m_queue
add includes
2017-04-28 11:27:19 +02:00
Gregory Hainaut c183de5662 onepad: add hot-plugging support
Note: pad to player mapping is done later

v2: remove the useless print
2017-04-28 11:27:19 +02:00
Gregory Hainaut 94e19ac903 onepad: remove SDL1 manual detection code path 2017-04-28 11:27:19 +02:00
Gregory Hainaut ef3435441f onepad: create a legacy version for SDL1
The legacy version is the version 1.3

The new version is the version 2.0. It would be based on SDL2 only

Distribution information.
If you link wxWidget with SDL, you will need to be sure it is SDL2 or upgrade.

You can build wxWidget with SDL2 with the following trick

export SDL_CONFIG=/usr/bin/sdl2-config
./configure --with-sdl .....
2017-04-19 19:02:36 +02:00
np511 de6216b37b Remove warnings about ISO C++11 conformance 2017-01-29 09:06:10 -05:00
Clang Format 604d3bac3c clang format: set SpacesBeforeTrailingComments to 1 2016-10-16 21:42:31 +02:00
Clang Format f06f44c30a reformat onepad 2016-09-08 21:52:49 +02:00
Gregory Hainaut 48c4d54a6c onepad: support load/save state for the plugin
close #205
close #1375
close #1465

v2: don't bump PCSX2 savestate version
2016-07-28 09:48:44 +02:00
Gregory Hainaut 62aff1f2a1 onepad 1.3: import lilypad state machine into onepad
Not tested
* rumble

Save/load state will be implemented in the next commit

v2:
* Print current deteced pad mode
* fix dpad button tranmission

close #366
2016-07-27 08:55:27 +02:00
Jonathan Li f963fcfa66 onepad:freebsd: Adjust ifdefs 2016-05-20 22:30:52 +01:00
Jonathan Li 899784cbdc onepad: Only append -dev to library name for Devel builds 2016-05-18 22:58:15 +01:00
kust2708 de5f7f70e2 OnePad: Fix multi-gamepad support
Can change the number of gamepad with the constant GAMEPAD_NUMBER in the onepad.h file
2016-02-27 22:11:08 +01:00
kust2708 823a37aed7 OnePad : New GUI based on gwWidget
Buttons done, configuration initialization done.
Still need to add Gamepad and Joysticks configuration frames.
Require png file for the moment (the embedded picture will be fixed after).

New Onepad GUI based on wxWidget (Main frame almost finish)
Background picture is now embedded
Button binding works
Loading and saving works
Need to add feedback and gamepad, joysticks configuration frame

Modification of the onepad CMakeList.txt
Automatic generation of images headers using perl script

Modification of the test feedback function
2016-02-14 17:26:31 +01:00
KrossX f7a8ec7ee9 Fix for odd DualShock rumble
Only bit0 matters for the small motor. Fixes RE4 rumble on movies / map.
Was already fixed on xpad.
2015-11-22 19:18:02 -03:00
Gregory Hainaut ac0e40a2b7 onepad: safely dispatch rumble action
Fix onepad crashes
2015-11-10 08:12:20 +01:00
Gregory Hainaut a9af374be6 onepad: don't touch autorepeat setup
When X autorepeat is enabled, it will generate down/up, down/up, ... sequences

So it was decided to disable it. Unfortunately the configuration is for
the full system which is very annoying (state isn't restored after an
ASSERT or EXCEPTION)

Initially the plugin handles the event from the X loop. However since
the GSopen2 switch events are already intercepted by the WX core GUI.
The core will route them back to the input plugin.

Wx filters automatically generated event so initial sequence is now
down, down, down/up. No more autorepeat issue, so no need to screw up
the system.

Close #945
2015-11-01 10:48:54 +01:00
3kinox d7155f839f onepad:
+ Implement and activate rumble.
2015-10-16 23:55:18 +02:00
3kinox fb0d7139f2 onepad:
+ Isolate every SDL code paths and replace any call to them by call to a generic class "GamePad" of which JoystickInfo is now a child.
+ Now backends can be added by inheriting GamePad generic class.
+ There is just one function change which is redundant with next commits but otherwise commit will not compile(which is more evil).
2015-10-16 23:53:51 +02:00
Jonathan Li b96609cb51 onepad: fix possible dereference of deleted pointer
onepad will dereference conf after it has been deleted if a PADinit,
PADshutdown, PADinit sequence takes place.
2015-06-29 20:53:00 +01:00
Gregory Hainaut c456764342 spu2x: declare exported function as stdcall
* Fix a stack buffer overflow on address sanitizer
* Might explain an old clang crash
2015-04-17 18:24:23 +02:00
Ryan Houdek 3d37a6ce27 Removes the usage of __LINUX__ define
This is defined and set it a ton of different places.
It's checked in a whole lot more
Instead just use __linux__ like a real project should
2014-08-03 13:20:36 -05:00
Gregory Hainaut 4496093cf8 cmake version:
Use same version as window based on git
drop subversion code
use lld on onepad
2014-03-25 17:29:47 +01:00
gregory.hainaut 452cf72ddf onepad: fix a bug to handle multiple button (fix #1271)
zzogl: fix memory leak (fix #1431, #1432)
GSdx ogl: disable geometry shader on Nvidia/Windows (I will wait a 3rd implementation to find which one is correct)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5724 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-08-25 12:11:32 +00:00
gregory.hainaut d9af23c946 plugin: restore sprintf_s on windows and hopefully fix vs201n compilation
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5684 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:11:16 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
gregory.hainaut 8ec0275a96 onepad: Don't try to acquire the lock when it wasn't initialized. Avoid
the freezing of the window when a plugin failed to open.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5660 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-15 07:20:02 +00:00
arcum42 251382aefe Change a few compiler options in Linux to remove a few warnings during compilation.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4947 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-10-29 07:57:06 +00:00
gregory.hainaut@gmail.com 89c48d526e onepad: slim down a little more the KeyStatus API
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4781 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-28 22:16:06 +00:00
gregory.hainaut@gmail.com 9cb19121e0 onepad: create a key_status object to handle key activities with a single press/release interface
GSdx: remove some linux dialog options which were already controlled by PCSX2


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4780 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-28 21:30:06 +00:00
gregory.hainaut@gmail.com d726be3364 onepad:
* test the reading of the configuration file (will be safer with the previous configuration format).
* bump the version


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4748 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-17 20:44:46 +00:00
gregory.hainaut@gmail.com 35b9dfce3f pcsx2: zzogl:onepad: gsdx: merge linux-gsopen2 branch (4730) into trunk
* Gsopen2 support for GS plugins => Support of the PCSX2 GS window configuration panel. Support of all PCSX2 shortcut.
* new shortcut: shift-f12 to stole the input. ZZogl shortcut must be prefixed with ctrl
* onepad: Support/fix/improve of configuration gui, multiple key, mouse/wiimote for analog joystick, dualshock3/sixaxis (basic), dual pad and experimental forcefeedback

Note: it is advices to delete OnePAD.ini


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4731 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-12 14:48:36 +00:00
gregory.hainaut@gmail.com d71cce5495 onepad: implement setLogDir interface
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3682 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-23 18:30:48 +00:00
gregory.hainaut 04e6c5ab02 Spu2null, padnull, gsnull, CDVDnull, onepad, spu2x:
Add 2 attributes to the interfaces functions
 - externally_visible: avoid gcc to remove the function when lto is enabled 
 - visibility("default"): default == public... Allow to hide all others symbols: see http://gcc.gnu.org/wiki/Visibility for details

onepad:
* Remove __cplusplus define, everythings is in C
* define 2 interfaces functions with EXPORT_C_ instead of CALLBACK.

cmake:
* add recent added .h files
* add fvisibility optimization. Plugins size was reduced of ~10% much more than expected :)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3611 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-06 11:43:21 +00:00
gregory.hainaut 1394b9e03c [copyright]: * Update copyright to use the new postal address of the Free Software Foundation. Nothing to see.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3391 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-04 22:49:00 +00:00
arcum42 f67299ad83 onepad: apply a patch to the ini settings.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3054 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-22 02:52:47 +00:00
arcum42 2fed047080 Onepad: Fix PadKeyEvent so it doesn't hang new versions of pcsx2 when you hit a key.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2941 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-04 09:35:23 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
arcum42 e5546267b9 GSNull uses GSOpen2. Hacked Openpad to work whether GSOpen or GSOpen2 is used.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2401 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-26 00:01:30 +00:00
arcum42 7c0d91ce86 Fix up Linux, as well as make a few minor changes to onepad.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2196 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 09:02:10 +00:00
arcum42 192f602ae7 Fixed up the Linux build. A couple minor OnePad changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1487 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 17:21:23 +00:00
arcum42 b0861c6d81 OnePAD: All around my hat...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1482 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-10 06:07:32 +00:00
arcum42 cae05180f5 Onepad: Added a clear all button, and did some work on the backend.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1481 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-10 00:05:05 +00:00
arcum42 d82c3653ce WIP: Zeropad fork. This is intended more as a backup copy so I have a good copy to work from then as a release. As such, while it works, the gui is glitchy, the Windows port is non-existant, and a lot of things are subject to change...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1457 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 11:45:47 +00:00