rdb
dc599901bc
Work around shutdown hang when compiling with SIMPLE_THREADS=1
...
This is a workaround for a specific case of #508
2019-08-12 19:37:11 +02:00
rdb
932e981572
device: fix deadlock when building with SIMPLE_THREADS=1
...
GetMessage blocks without yielding, so we need to use an alternative message pump using PeekMessage instead.
Fixes #704
2019-08-12 19:34:17 +02:00
rdb
750afbb188
device: Linux fixes for Trust GXT 24 and a few other cheap gamepads
...
Fixes #576
2019-05-12 20:34:19 +02:00
rdb
7f0ac22ca5
device: fix mappings for various generic gamepads on Windows
...
See also #576
2019-05-02 21:32:31 +02:00
Sebastian Hoffmann
16c3ca5c87
device: Fix swapped axes on right stick for Jess Colour Rumble Pad
...
Closes #639
2019-05-01 17:19:18 +02:00
Rishabh Tewari
bfb50ab7ff
device: don't crash on Linux if no devices are found
...
Fixes #634
Closes #635
2019-04-29 00:32:34 +02:00
rdb
239dc40032
device: fix crash when unplugging certain devices on macOS
...
Fixes #621
2019-04-14 22:11:20 +02:00
rdb
1a9867ae2e
device: remove executable permissions from inputDeviceSet.*
2019-04-02 02:08:47 +02:00
Sam Edwards
c63562088b
device: Fix missing include
2019-03-18 04:10:35 -06:00
rdb
45778b9e9f
device: use threaded message loop on Windows (see #562 )
2019-03-04 16:20:52 +01:00
rdb
7f4491cb98
device: disable message loop in WinInputDeviceManager for now
...
This was a change in aadc62a96c but seems to cause other problems, see #562
2019-03-02 12:39:42 +01:00
rdb
3875cc8259
device: add proper mapping for 8bitdo N30 Pro Controller on Linux
2019-02-07 22:28:04 +01:00
rdb
0ef9f9bef5
device: various button/axis mapping fixes in Windows raw impl
...
Now uses a table like on Linux with the various mappings.
2019-02-06 22:06:43 +01:00
rdb
f8d7941fe8
device: fix a bad axis mapping on Linux
2019-02-06 22:03:44 +01:00
rdb
1b4035f29a
device: move HID API definitions to separate header file
2019-02-06 21:56:47 +01:00
rdb
aadc62a96c
device: fix inability to detect devices with pipelining enabled
...
This is because the message window is being created in the main thread, but there is nothing processing messages in the main thread.
2019-02-06 21:51:06 +01:00
rdb
22cac1cdf9
device: fix stack corruption crashes on 32-bit Windows
2019-01-31 18:23:29 +01:00
rdb
9d12a4c437
general: improvements to doxygen API reference:
...
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb
66655aae85
device: fix incorrect features when printing InputDevice
2019-01-21 15:32:22 +01:00
rdb
d106fd6a3a
device: added checks, robustness, debug output for Windows raw input
2019-01-05 22:00:34 +01:00
rdb
7e562b0eb3
device: remove unused variables on Windows
2019-01-03 16:01:10 +01:00
rdb
8cdeb9b60b
device: fix a case issue in include statement
2019-01-03 15:34:30 +01:00
rdb
c365beaf11
device: hide Steam Controller on Linux while Steam is running
...
When Steam runs, it mutes all input from the Steam Controller and instead registers a virtual gamepad that obeys the Big Picture controller remapping. We want to make sure to pick that one, since the "real" Steam Controller doesn't report any events while the virtual device is active. So we carefully consider the "real" Steam Controller "inactive" if the presence of the virtual device is detected, until the virtual device is disconnected (ie. when Steam is closed) or if it turns out that it is generating events after all, in which case it gets automatically reactivated.
This is a bit of a hack, maybe there is a cleaner way of doing this.
2019-01-02 00:56:40 +01:00
rdb
a02920bb42
device: detect XInput devices on start-up
...
This is needed to handle cases where XInput is being emulated, such as when running via Steam with the Steam Controller active. Steam's shim does not send out WM_INPUT_DEVICE_CHANGE events.
2019-01-01 16:27:55 +01:00
rdb
2bde2baed2
device: a couple of fixes with Windows device input
2019-01-01 16:23:16 +01:00
rdb
f3ba1d317c
device: support for Steam Controller on Linux
...
Adds lgrip and rgrip button handles, which are present on Steam Controller but also on the Oculus Touch
2018-12-31 16:10:56 +01:00
rdb
8119547e90
device: add hacky detection of Trust GXT 24 as gamepad for now
2018-12-31 13:12:40 +01:00
Sam Edwards
bc2450441d
device: Fix some includes
2018-12-28 20:59:09 -07:00
rdb
7ed8b01a84
Merge branch 'input-overhaul'
2018-11-30 22:04:13 +01:00
rdb
585ba2d647
Prepare input API for multipointer support
2018-11-30 20:54:37 +01:00
rdb
29170278e9
device: a few InputDevice API tweaks
...
find_button() and find_axis() should not error since there is no way to find out whether a button/axis exists or not
2018-11-30 20:54:35 +01:00
rdb
2087d8ee84
device: change InputDevice enums to enum classes
2018-11-30 20:41:06 +01:00
rdb
26fcf131c9
Merge branch 'master' into input-overhaul
2018-11-25 17:10:31 +01:00
Sam Edwards
a9dfd8352e
general: Distinguish local/system includes
...
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>
This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
2018-11-10 18:00:10 -07:00
rdb
ada3fa5513
Compile fixes on input-overhaul branch
2018-10-08 01:44:17 +02:00
rdb
9618cd2193
device: ensure libputil is initialized before scanning devices
2018-10-07 21:06:24 +02:00
rdb
4b77812b35
device: fix inverted flight stick throttle on Linux
2018-10-07 20:49:13 +02:00
rdb
f518b9aaf1
device: fixes to sporadic device class detection on Linux
2018-10-07 20:48:39 +02:00
rdb
85752b06f5
device: delete InputDevice copy ctor / assign operator
2018-09-28 17:32:38 +02:00
rdb
9b85a28861
putil: rename MouseData to PointerData to be more inclusive
2018-09-28 17:18:38 +02:00
rdb
8edc019307
device: overhaul InputDevice API:
...
- Rename "controls" terminology for analog inputs to "axes"
- Change some naming of accessors
- Unexpose methods where they are available as properties
- Add serial_number field
- Put battery levels under a "battery" field
2018-09-16 20:22:22 +02:00
rdb
8d8c5a546d
input: rename "action_x" button handles to "face_x"
2018-09-16 14:50:00 +02:00
rdb
e30b597926
Merge branch 'master' into input-overhaul
2018-09-16 12:28:22 +02:00
Sam Edwards
4695557a5d
general: Don't require BUILDING_* for static builds
2018-08-31 23:54:32 -06:00
rdb
7cc100c38c
device: change ControlAxis enum to an Axis enum class
2018-08-26 21:18:29 +02:00
rdb
11723b27ee
device: various warning fixes for input-overhaul on Linux
2018-06-23 23:30:44 +02:00
rdb
234fd675b1
Merge branch 'master' into input-overhaul
2018-06-23 23:24:09 +02:00
Sam Edwards
b2bfb31114
general: Remove `using std::*` from headers
...
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.
Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
rdb
ba2de46beb
Merge branch 'master' into input-overhaul
2018-06-08 15:23:47 +02:00
Sam Edwards
7790f8429d
general: Fully qualify header references into the std namespace
...
Closes #341
2018-06-07 10:35:12 +02:00