James Turner
443b4fa900
Different fix for ticket 2108, avoiding another issue
...
Original bug: https://sourceforge.net/p/flightgear/codetickets/2108/
New bug: https://sourceforge.net/p/flightgear/codetickets/2430/
2020-11-27 18:51:27 +00:00
James Turner
2683a27513
NavCache: make Transaction a no-op when read-only.
...
Avoid BEGINing a transaction when we’re in read-only mode, since this
is not wise.
2020-11-10 23:43:44 +00:00
James Turner
f4298d676f
Fix for RMB/MMB interaction with picking
...
When RMB drag-to-look is active, ignore all other mouse downs, which
might otherwise trigger picks to start.
Ticket-Id: https://sourceforge.net/p/flightgear/codetickets/2108/
2020-10-29 23:20:48 +00:00
James Turner
06b026a218
GUI/knob animation: fire release binding over PUI
...
Fire the release bindings for active pick callbacks, even for a ‘handled’
mouse release. This means knobs, etc will fire their release binding
if the mouse is over a PUI dialog.
https://sourceforge.net/p/flightgear/codetickets/2347/
2020-08-25 20:48:29 +01:00
Scott Giese
6c14eaa6e8
REVIEW: Memory Leak - FGLinuxEventInput::postinit()
...
4,995 (40 direct, 4,955 indirect) bytes in 1 blocks are definitely lost
2020-08-22 21:26:03 -05:00
Scott Giese
14b28d4f72
REVIEW: Memory Leak - FGLinuxEventInput::posinit()
...
55,004 (40 direct, 54,964 indirect) bytes in 1 blocks are definitely lost
2020-08-22 17:05:35 -05:00
Julian Smith
61aaf44495
src/Input/FGHIDEventInput.cxx: fix gcc comparison warnings.
2020-06-17 22:46:42 +01:00
James Turner
dce282d7b8
Rename js.h -> FlightGear_js.h
...
Ensure we don’t get weird conflicts as our internal version is
starting to diverge from the original PLIB one.
2020-06-11 17:48:49 +01:00
James Turner
00cffc2f01
Allow correct re-init of joysticks on macOS
...
With this change, “Reload Input” will discover newly attached devices
on macOS, which previously did not work.
Also add correct detection of disconnected devices, which previously
was not handled well, especially with the new ‘keep trying to open
devices’ behaviour of FGJoystickInput.
Should fix:
https://sourceforge.net/p/flightgear/codetickets/2259/
2020-06-11 17:43:55 +01:00
gallaert
c6124b5c5a
Replace boost::enable_if/disable_if/enable_if_c/disable_if_c by std::enable_if
2020-04-22 14:05:47 +01:00
Stuart Buchanan
9b20c08db3
Fix compiler warnings
2020-04-12 21:52:19 +01:00
gallaert
fb65f64342
Replace BOOST_FOREACH by C++ 11 for range loop.
2020-04-12 14:40:36 +01:00
James Turner
1d8cad58db
Mouse input: tidy some logic
2020-04-04 08:06:15 +01:00
James Turner
5b14d6e495
HID : split out raw logging from event logging.
...
This makes developing XML config files much easier
2020-04-01 20:43:50 +01:00
James Turner
8bedd52e2b
HID: allow raw-descriptor parsing in the XML
...
Also fix deadband computation (do it after min-max ranging)
2020-04-01 16:32:21 +01:00
James Turner
96be636240
Fixing up HID event input on Mac/Windows
...
Removing old macOS separate input - the HID version is better in
every way.
2020-04-01 15:29:58 +01:00
Erik Hofman
3cb05a9207
Do not try to initialize all 16 joysticks every frame if they where not found previously. Try it once every second instead.
2020-03-12 10:31:38 +01:00
James Turner
e509711075
Fix some warnings from current Apple clang
...
- remove some unused vars
- remove use of std::mem_fn / std::bind2nd
2020-03-10 17:02:08 +00:00
Erik Hofman
32d6f75305
Process the buttons even if the axes are not declared initialized
2020-03-07 09:22:22 +01:00
James Turner
219ceacc7a
macOS Catalina device filtering
2020-02-24 13:09:36 +00:00
Erik Hofman
6df768fa5f
Store the initial axis values and if just one of them changes declare the joystick initialized
2020-01-27 18:12:09 +01:00
Erik Hofman
65a20b5829
Read the raw values and check them against the saturation value, if one of them is larger then initialization of the joystick is still in progress.
2020-01-27 09:15:53 +01:00
Erik Hofman
2d0b44ee63
If js is valid (again), create a new instance of jsJoystick so removing an joystick from and USB port and attaching it again get the joystick in a working order.
2020-01-26 17:44:19 +01:00
Erik Hofman
d4459c8205
Fix a typo
2020-01-26 14:30:24 +01:00
Erik Hofman
3405ea2aaa
Joystick axes can get initialized to extreme values, at least on Linux. Hold of working with the axis values until all values have become sane at least once
2020-01-26 14:10:07 +01:00
James Turner
0e082d5c46
Tweaking macOS HID code to avoid a Catalina crash
...
Not certain what’s going on here, this is testing a theory that
deleting a HID queue which has never been started, might behave badly.
2019-10-17 00:01:59 +01:00
Julian Smith
331ef3232f
src/Input/FGEventInput.cxx: FGEventInput::AddDevice(): fix incorrect use after delete.
...
Moved delete of inputDevice to after its use in a SG_LOG diagnostic.
2019-08-31 14:19:16 +01:00
Edward d'Auvergne
34a6cb3c74
SGSubsystem classes: Registration of all subsystems.
2019-07-01 14:51:32 +02:00
Edward d'Auvergne
d259c70560
SGSubsystem classes: Addition of staticSubsystemClassId() to all subsystems.
2019-07-01 14:51:32 +02:00
Edward d'Auvergne
332c240b38
SGSubsystemGroup: Removal of the subsystem group naming.
...
This is a partial reversion of 5253215065
, the
changes of which are incompatible with the subsystem class IDs.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
fb5c36fc82
SGSubsystem classes: Renaming of the subsystem ID variables and functions.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
7a6e63ddb9
SGSubsystem classes: Subsystem and subsystem group API declaration standardisation.
...
This is a cleanup commit.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
60a2444766
SGSubsystem classes: Whitespace standardisation of the declarations.
...
This is a clean up commit prior to the subsystem API standardisation to simplify
the diffs. It includes all SGSubsystem and SGSubsystemGroup derived classes.
2019-07-01 14:27:28 +02:00
James Turner
0bea6153b0
Event input: button fire repeat
2019-06-05 17:41:07 +01:00
James Turner
5ffe96237f
Fix a warning
2019-06-05 17:41:07 +01:00
Ganael Laplanche
66e6afb449
Avoid crashing when udev_device_get_parent() returns a NULL pointer
2019-05-29 12:06:07 +02:00
James Turner
bd2c524b21
HID input: more debug output
2019-05-27 16:06:27 +01:00
James Turner
955138d06e
Avoid a crash on HID devices with no name.
2019-05-16 11:11:19 +02:00
Florent Rougon
9b019f6b72
FGJoystickInput: increase MAX_JOYSTICKS from 10 to 16
...
Since PLIBjs uses joyGetDevCaps()[1] on Windows and this function
accepts joystick ids from 0 to 15 (-1 being special), setting
MAX_JOYSTICKS to 16 ensures that FGJoystickInput::init() can scan all
joysticks that joyGetDevCaps() is able to report about.
[1] https://docs.microsoft.com/en-us/previous-versions/dd757105(v%3Dvs.85)
2019-04-29 12:54:03 +02:00
James Turner
9d71d09072
Enable HID-input on Windows
2019-04-27 18:54:13 +01:00
Richard Harrison
5253215065
Improvements to performance monitoring.
...
* Ensure that subsystems are named.
* Nasal timers are named appropriately
2019-02-10 18:07:07 +01:00
James Turner
07cb303e8c
Fix for jumping view when right-dragging
...
This happens because we were not storing the new position when the
OSG event-adapter handled the event, which includes PUI
https://sourceforge.net/p/flightgear/codetickets/2073/
2018-10-24 22:16:51 +01:00
James Turner
951a3ea6ad
Fix Windows build, missined windows.h
2018-10-24 14:28:58 +01:00
James Turner
00eec40d51
Fix JS header include path
2018-10-23 11:00:59 +01:00
James Turner
73be50b308
Event-input: axis interpolater support
...
Expand the range of filtering options on axis values to include the
optional use of an interpolation table, which gives many more options
when dealing with some devices.
2018-10-13 00:03:30 +01:00
James Turner
6589c71f62
Tweaks to HID local descriptors
2018-10-04 23:21:05 +01:00
James Turner
abbaf8f640
HID input: allow descriptors from XML
...
This allows ignoring the USB-supplied descriptor in favour of our
own, which might considerably better or less broken at least.
2018-10-04 17:43:36 +01:00
James Turner
6366dea197
HID event-input debugging
...
Adding more debugEvents-enabled log output to HDI input
2018-10-04 12:17:01 +01:00
James Turner
96cce67040
HID input: fix multi-device Nasal support
...
Ensure each laoded device gets a unique Nasal module name,
otherwise they combine with each other and Stuff Breaks(TM)
2018-10-04 12:17:01 +01:00
James Turner
8b72229ffd
C++11 improvements in Mac event-input code
2018-08-19 12:34:47 +01:00