1
0
Fork 0
Commit graph

428 commits

Author SHA1 Message Date
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