James Hogan
dc5404a3c2
FGButton: Make init()'s "module" parameter const
...
FGButton::init() passes the module parameter (a non-const string
reference) straight through to FGCommonInput::read_bindings() as a const
reference.
Change the FGButton::init() signature so that module is const there too,
so that callers can pass it const string references returned by
accessors without having to make copies.
2022-07-13 23:46:23 +01:00
Torsten Dreyer
0e0acc9a10
Fix a memory leak
2022-02-11 08:50:13 +01:00
Scott Giese
3850700ce1
Undefined Behavior fix.
...
Shifting bits into the sign-bit is unpredictable.
Should be an unsigned type.
2021-12-26 12:38:08 -06:00
Roman Ludwicki
82f967ab92
Cope with SGPropertyNode::getStringValue() now returning std::string by value.
...
This is by Lars Toenning <dev@ltoenning.de>, Roman Ludwicki <romek21@op.pl> and
SDeAstis <salvatore.deastis@gmail.com>, in 2021 Hackathon.
Also cope with removal of SGPropertyNode::getName() - use getNameString()
instead.
2021-12-24 14:49:06 +00:00
Julian Smith
c4c29f33d4
src/Input/FGLinuxEventInput.cxx: don't throw if we cannot open device.
...
Throwing halts execution; we now output a diagnostic and return false, and
flightgear appears ok to continue.
2021-12-09 23:09:52 +00:00
James Turner
8535126a7d
Remove Sentry XML error suppression
...
We now supress XML errors from reporting internally, so this can
be removed, woo-hoo.
2021-07-28 13:45:23 +01:00
James Turner
3bef9e7747
Move some ALERTS to MANDATORY_INFO
2021-05-28 11:59:10 +01:00
James Turner
a1b5f452e3
Input-device configuration: report config errors
2021-04-21 21:56:52 +01:00
James Turner
caad29e7c8
Add error reporting to common failure points.
...
Not exhaustive by far, but adds many of the common failure points
witnessed on Sentry.
2021-02-20 20:06:27 +00:00
James Turner
d1f35253e2
Tooltips: wait for commands to be registered
...
Avoid invoking the tooltip commands prematurely on startup. Requires
corresponding FGData update.
2021-01-08 19:34:07 +00:00
James Turner
f5eadf2e37
Event-input: Change reporting of failure to open
...
Don’t use an exception here, not needed and makes for noise on the
reporting backedning.
2021-01-01 22:40:24 +00:00
Julian Smith
c3836923cb
Added limited support for event handling to extra view windows.
...
We now attach global event handler to extra view windows so key presses are
handled as normal.
And the main event handler for mouse movements now calls new SviewMouseMotion()
which pans/tilts extra view windows in response to right-button mouse-drag.
2020-12-21 23:42:44 +00:00
James Turner
4f7d84ed73
Avoid crash when OSG event context is nil
...
Seems to relate to certain window managers and focus policies.
Ticket-Id: https://sourceforge.net/p/flightgear/codetickets/2218/
Sentry-Id: FLIGHTGEAR-30J
2020-12-18 12:17:42 +00:00
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