Commit graph

42 commits

Author SHA1 Message Date
Leon Styhre d9f00ec582 Fixed an issue where the keyboard was counted as a joystick. 2020-08-03 12:13:28 +02:00
Leon Styhre b5485b4ca9 Changed log levels from numbers to text. 2020-07-26 23:30:45 +02:00
Leon Styhre dc4870f543 Improved the trigger button handling and made it work (somehow) on Windows.
There are still some issues on Windows, especially with Dual Shock controllers, but a larger rewrite is required anyway of the input handling so it's not worthwhile trying to fix it at this time.
2020-07-24 18:24:04 +02:00
Leon Styhre 1b65eaac2e Improved input device configuration.
Default keyboard mappings are now applied if the user has not configured the keyboard.
2020-07-14 19:16:21 +02:00
Leon Styhre 31da561695 Complete UTF-16 (Unicode) support added for Windows.
ROM names with Unicode characters are supported, as well as running ES from a directory that has Unicode characters in its name.
2020-07-10 18:32:23 +02:00
Leon Styhre 76aa239855 Initial update to make the application build and run on Windows.
Much more work will be needed to get the Windows port working properly.
2020-07-03 20:23:51 +02:00
Leon Styhre eeae8033bd Use SDL2 include files instead of those for SDL version 1.
This resolves an irritating issue in the code editor where SDL2-specific functions could't be found. Not entirely sure about the SDL include file logic for other operating systems than Linux so the #ifdef directives may need to be updated further at a later date.
2020-06-26 18:03:55 +02:00
Leon Styhre 1f74723533 Another code cleanup and code documentation update. 2020-06-26 17:17:35 +02:00
Leon Styhre 0387d515fb Update to fully support Clang/LLVM.
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
2020-06-25 19:52:38 +02:00
Leon Styhre fb4c5708b7 Made pugixml an external dependency and fixed the cmake/cpack installation and package creation.
As pugixml seems to be well supported nowadays and seems to ship with most distributions it's pretty pointless to keep bundling it with EmulationStation.
2020-06-24 17:38:41 +02:00
Leon Styhre 6b62065595 Large code cleanup and code documentation update.
The initial code cleanup of es-app is now complete as of this commit.
2020-06-23 20:07:00 +02:00
Leon Styhre 67aa6b3dbd Huge code cleanup and code documentation update.
Includes lots of conversions from tabs to spaces. Only cosmetic code changes in this commit.
2020-06-21 14:25:28 +02:00
Leon Styhre 49161df0e6 Renamed platform.cpp/platform.h to Platform.cpp/Platform.h
The naming convention for the rest of the application is to start the file names with a capital letter.
2020-06-21 12:26:21 +02:00
Leon Styhre 8492160a80 Added semi-automatic scraping mode, fixed some scraping bugs and improved folder metadata editing. 2020-06-13 16:47:12 +02:00
Leon Styhre f1f82ac29f Added support for jumping to the beginning and end of gamelists and menus using the left and right trigger buttons. Also fixed some navigation bugs. 2020-06-13 10:25:09 +02:00
Cristi Mitrana 3b85735a2d InputManager: replace pageUp/Down with left/rightShoulder and create an alias (via isMappedLike) to accomodate existing configs that use the PageUp/Down buttons. 2019-12-23 16:12:35 +02:00
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Jools Wills fd04b153af
Merge pull request #554 from psyke83/ps3_triggerfilter
Implement filterTrigger for PS3 controllers
2019-04-09 05:13:23 +01:00
John Rassa 91d0b6c918
Merge pull request #551 from jrassa/scripting
implement scripting support
2019-04-06 19:48:01 -04:00
Conn O'Griofa 03341f236d Implement filterTrigger for PS3 controllers
The hid-sony driver has both analog and digital buttons for the triggers,
and the analog values range from -32767 to 32767, which can cause two unwanted
input events (digital button and negative axis) per press.

Implement a function to filter out unwanted input events during configuration,
but isolate detection to known PS3 controllers with 6 axes so that older versions
of hid-sony and the sixad driver (which use 25+ axes) are not impacted negatively.
2019-04-06 11:19:12 +01:00
Jools Wills 945a4c9cfd
Revert "InputManager: improve trigger axis calibration" 2019-04-06 02:33:16 +01:00
jrassa 72edb792d2 implement scripting support 2019-03-26 20:02:42 -04:00
Conn O'Griofa b097648dde InputManager: improve trigger axis calibration
Some drivers (such as hid-sony) configure analog triggers (L2/R2) as axes
with axis range -32768-32767, but the resting value starts at -32768,
causing an initial or light press to register erroneously as a minus
axis value.

Fix by shifting ABS_Z and ABS_RZ axes that are detected to rest at
-32768 so that they will range from 0-32767 instead.

Patch based on Jools Wills' earlier commit: https://github.com/RetroPie/EmulationStation/pull/58
2018-06-08 04:45:04 +00:00
Tomas Jakobsson 403b798572 Remove the last traces of boost::filesystem::operational, this is PR 4 of 5 in the boost::filesystem removal quest 2018-01-27 22:52:14 +01:00
Tomas Jakobsson c1f8e7294c Update and rename some Utils::FileSystem functions
Replace boost::filesystem::is_directory
with    Utils::FileSystem::isDirectory

Replace boost::filesystem::is_regular_file
with    Utils::FileSystem::isRegularFile

Replace boost::filesystem::is_symlink
with    Utils::FileSystem::isSymlink

Replace boost::filesystem::exists
with    Utils::FileSystem::exists

Replace boost::filesystem::create_directory
with    Utils::FileSystem::createDirectory

Replace boost::filesystem::remove
with    Utils::FileSystem::removeFile
2018-01-23 12:07:20 +01:00
Tomas Jakobsson 05caef2f28 Remove all namespace fs = boost::filesystem; 2017-12-28 15:03:11 +01:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson 7719bff8ae Clean up pugixml.hpp includes 2017-11-10 20:16:42 +01:00
Tomas Jakobsson 074e22ee37 CEC Support 2017-11-08 23:22:15 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Jools Wills 573c8b5304 Merge pull request #111 from joolswills/pugixml_update
update pugixml to v1.8.1 / convert to a submodule
2017-04-04 03:31:47 +01:00
Jools Wills 0a7605cae1 we map to pageup/pagedown not leftbottom/rightbottom - fixes page up / down buttons in date input etc 2017-04-04 03:06:07 +01:00
Jools Wills 752472355a convert pugixml to git submodule and update to v1.8.1 2017-04-03 19:47:17 +01:00
Jools Wills 3eba889bdf Revert "workaround for analogue trigger configuration - eg with xpad." 2016-08-14 20:24:39 +01:00
Jools Wills c5b74947a0 workaround for analogue trigger configuration - eg with xpad.
Unlike other axis, they don't default to 0, but instead start at -32768 and go to +32767 when pressed. This confuses the
current ES code axis code. As a workaround, we get the initial value and if it is -32767, we add 32767 and divide by two. This gives it
a range that can be handled with the current code (from 0 to 32767). Note on my X11 machine, I had to plug the joystick in after ES
was loaded or it get 0 as the initial axis value for the triggers. This seems ok on the RPI though, so possible some SDL issue.

With this change on a 360 controller the triggers should be correctly detected as +2 and +5 without seeing two presses for each trigger press.
2016-08-13 01:49:44 +01:00
Jools Wills fa513e4c2d cosmetic - spaces -> tabs to match rest of file 2016-08-10 02:48:04 +01:00
Ken Taylor ab8409da41 Always reload input config after running onfinish script 2016-07-01 22:14:41 -07:00
Florian 65f2409d91 CHG: Additional input types, user-defined input config scripts 2015-06-01 20:47:42 +02:00
Aloshi 2926442bf0 Set hint regardless of setting (in case it is changed during run-time). 2015-01-15 17:47:31 -06:00
Felipe Otamendi 33d6733d64 Add a setting to allow for joystick input to work while not in focus. 2015-01-13 23:36:25 -02:00
Aloshi dbdbcde6cd Renamed folders to match their projects properly. 2014-06-20 20:03:05 -05:00
Renamed from core/src/InputManager.cpp (Browse further)