1
0
Fork 0
Commit graph

388 commits

Author SHA1 Message Date
James Turner
6d0c2070fd Use future-proof SGPath APIs.
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
James Turner
03ecac9dbc Work with new SGPath API. 2016-06-22 17:36:05 +01:00
James Turner
861b682acf VS2015 fixes
Explicitly specialize these templates.
2016-06-01 22:57:11 +01:00
Torsten Dreyer
62d0d2ab06 event input system: be a little more helpful on errors 2015-11-02 11:42:30 +01:00
James Turner
70c4972f48 Fix a clang warning. 2015-04-11 21:59:37 +01:00
James Turner
f2d6b76b13 Portability: Fix compile errors on MSVC (cmath)
From Scott (xDraconian)
2015-03-24 11:11:42 -05:00
Torsten Dreyer
bca8b75a81 Allow input systems to be disabled
To avoid trouble when running multiple instances on one machine, disable
e.g. joystick input for second instance by
--prop:bool:/sim/input/no-joystick-input=true

Also allowed:
--prop:bool:/sim/input/no-event-input=true
--prop:bool:/sim/input/no-mouse-input=true
--prop:bool:/sim/input/no-keyboard-input=true
2014-11-06 22:27:59 +01:00
Thomas Geymayer
90f197fbc4 Do not assume there is a mouse mode with index 3. 2014-07-30 23:54:04 +02:00
Thomas Geymayer
88b7d4f530 Update for SGPropertyNode changes. 2014-03-06 00:41:41 +01:00
Philosopher
6870a88696 Fix for issue #999
Introduces delay-sec and release-delay-sec properties. The former is how
long to wait to run the binding(s) after pressing the button, the latter
is how long to wait after releasing the button. interval-sec now
specifies the delay before a repeat event occurs.
2014-03-05 00:33:45 +01:00
James Turner
f07042f7d7 Use binding-list fire helper. 2013-12-15 20:43:27 +00:00
Thomas Geymayer
39c41eaab9 FGLinuxEventInput: check return value of write. 2013-12-07 13:48:04 +01:00
James Turner
88aef8caf8 Reset: guard against picks during re-init 2013-11-16 12:28:56 +00:00
James Turner
5c97b7e713 Change tooltips to enable explicit.
Instead of using a negative delay to disable, make the setting
operate directly. This simplifies UI on top.
2013-10-25 09:18:59 +01:00
James Turner
52e5a9abe8 Reduce amount of log output at level=debug. 2013-09-28 14:47:20 +01:00
Tom Paoletti
81cd33e2fa Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:01:59 +01:00
James Turner
6acf1c12fc Fix unused private vars.
Xcode is warning about these, they're a mixture of
copy-pasted code, evolved use (e.g. using a property
node to store state), and so on.
2013-07-04 20:24:56 +01:00
James Turner
b1b6d2f6e2 Namespace fixes for std::string 2013-06-27 09:53:12 +01:00
Thomas Geymayer
0239e9c8c8 Fix cursor hide timeout if hovering on canvas windows 2013-06-21 22:00:09 +02:00
Thomas Geymayer
d9881aecf8 Allow Canvas placed on 3D objects receiving mouse events.
- Add option 'capture-events' to canvas aircraft and scenery
   placements to allow events being forwarded to the respective
   canvas.
 - Clean up and restructure parts of the mouse event/picking
   handling to support forwarding events to canvasses.
2013-05-09 21:38:40 +02:00
James Turner
6bd8bbc25e Limit hover-picks to once per frame.
Hopefully fixes the observed issues on Linux when spamming
mouse-moves over a large pickable, but only testing will say for sure.
2013-03-28 17:52:08 +00:00
Anders Gidenstam
46eadabf3a Added support for tracking mouse movements with shift and control+shift pressed. 2013-03-13 21:20:17 +01:00
James Turner
4786923838 Tweak hover logic.
Fixes tooltips vanishing on mouse-move.
2013-03-11 17:13:03 +00:00
James Turner
67a0acb64a Live cursor updating during pick-drags.
This gives nice cursors when hovering and dragging slider and knob-animations, and the cursor is set correctly on mouse-up after the drag too. Makes directional knobs/sliders much easier to understand.
2013-03-10 12:06:20 +00:00
James Turner
0971ed1f2c Make tooltips independent of cursor auto-hide. 2013-03-10 10:17:27 +00:00
James Turner
b5a6812c95 Clean up mouse-input property handling.
Use a listener to avoid reading state each event/update. Support setting some values on the SGKnobAnimation configure global behaviour.
2013-03-08 16:34:21 +00:00
James Turner
30fcfd219e Pass key-mod state into pick-callbacks.
Allow pick-callbacks to get the current mod-state at all times. (Required for matching SG change)
2013-03-07 18:41:38 +00:00
James Turner
12bcea2861 Make Ctrl+axis bindings explicit (and work).
Thanks to Clement/F-JJTH for the fix.
2013-03-06 14:24:29 +00:00
James Turner
d5c382a780 Fix updating of mouse position props.
Some cockpits rely on mouse position props being updated even when using a dragged pick-callback. Thanks to Clement for noticing. Re-structured so however we process the mouse (PUI, pick-callback, normal motion), we always update the props.
2013-03-05 14:31:58 +00:00
James Turner
50c70035b3 More explicit check for cursor feedback. 2013-03-05 08:40:17 +00:00
James Turner
f2c267f5d7 MouseInput changes to support hover.
This adds the framework for platform cursor implementations; Windows and X11 to be done.
It also extend the mouse-input code to generate hover events suitable for driving tooltips.

Note there should be no visible functionality change from this commit, since everything
is inactive until fgdata changes are made.
2013-03-04 23:35:30 +00:00
Thomas Geymayer
6c10f99573 Make compiling of all utils/tools optional 2013-02-12 17:38:46 +01:00
James Turner
7b663cd7f7 Split huge NasalSys header apart. 2013-02-09 15:33:05 +00:00
Christian Schmitt
2013f7149d Some headers missing... ;) 2013-02-07 19:00:54 +01:00
James Turner
1a5b968d7e Update for tweaked SGPickCallback API.
(Requires corresponding SimGear commit)
2013-02-03 16:34:36 +00:00
James Turner
31995420d3 Guard libudev include with extern "C". 2013-01-30 20:49:50 +00:00
James Turner
11f15a9b36 Joystick/dialog caches, commit the transactions. 2013-01-25 09:30:31 +01:00
James Turner
37900e22a8 Wrap dialog and joystick stat-cache in a transaction.
Should improve startup times when the cache is rebuilt.
2013-01-24 09:27:09 +01:00
James Turner
e9ecf4eb52 Bug #923 : repeatable flag set on input reload.
Clean-up how axes and button bindings are destroyed are re-built on reinit of the FGJoystickInput subsystem, so we get new, cleanly initialised items each time.
2012-12-29 12:16:51 +00:00
ThorstenB
076bbb8487 Fix some compiler warnings.
Unused vars, loss of precision, bool type conversions.
2012-10-13 17:59:47 +02:00
James Turner
ae6218ff10 Restore named JS/input configs (overrides)
Thanks to jano for pointing out I'd broken this feature!
2012-09-25 14:20:18 +01:00
ThorstenB
293d6b3565 Fix compilation with enabled EVENT_INPUT
Need to move the definition to the toplevel cmake file, since sources
are no longer compiled on directory level (individual libs per dir).
2012-09-22 14:23:15 +02:00
James Turner
6e7ac46751 Cached joystick config loading.
Avoid parsing all the joystick configs every launch.
2012-09-21 10:17:16 +01:00
Stuart Buchanan
5c78970663 Stop the property tree from keeping a shadow of the deleted input properties, as it can mean that the array of bindings ends up with some incorrect name tags if the set of joystick config files changes and a given js-named entry shifts in the array. This can then result in incorrect bindings being selected. 2012-08-25 22:23:55 +01:00
Stuart Buchanan
cce186a57c Add properties for raw axis and button values, for use
in joystick configuration function.  Also rationalize references to
/sim/fg-home into a global property.
2012-08-23 21:52:30 +01:00
ThorstenB
e794bb8e25 Fix Linux compile / math dependency
wasn't redundant in one place
2012-05-05 12:16:20 +02:00
Frederic Bouvier
75fc136931 Remove redundant inclusion of math/SGMath.hxx 2012-05-05 11:20:04 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
ThorstenB
5f1435b4fd Avoid "using..." in header files. 2012-04-05 21:02:09 +02:00
James Turner
8c187164fe Work on making 2D panels act like standard scene-graph elements for picking and drawing.
(This includes 2.5D panels in the 3D scene)
2012-03-16 17:22:18 +00:00
ThorstenB
6113981b39 #702: Misspelled "devices" property node.
(Typo from my commit earlier this week)
2012-03-08 08:58:44 +01:00
Torsten Dreyer
644bb8c4f4 Spring-cleaning: some minor optimization
- initialize uninitialized properties
- use prefix instead of postfix increments
- reduce visibility of variables
- use empty() instead of size() == 0 for vector and string
- pass string by reference, not by value
2012-03-06 22:28:18 +01:00
ThorstenB
0abf252ec8 Use tiedPropertyLists instead of manually matched tie/untie calls.
Ensures we don't forget to untie some individual properties.
2012-03-04 15:30:08 +01:00
James Turner
a5153615e6 Mac-specific fgjs / event-input fixes from Tatsuhiro. 2012-02-11 17:33:02 +00:00
ThorstenB
64fda03bd6 #605: Reduce warning level for unsupported keys. 2012-01-18 21:41:55 +01:00
ThorstenB
d47342a5a4 Add --log-class option, improve logging classes.
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
  --log-level=debug --log-class=environment
to only get environment debug messages, or
  --log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
2011-12-11 14:06:17 +01:00
ThorstenB
4c17cee5fb Lower log level for event input/udev messages. 2011-12-09 17:20:28 +01:00
ThorstenB
9933a7cb4a cmake: add support for Torsten's UDev EventInput
(Hopefully meeting Torsten's quality expectations)
2011-12-04 14:37:25 +01:00
Torsten Dreyer
ded106fe31 event input for Linux: substitude dbus+hal by udev 2011-12-03 22:59:20 +01:00
Torsten Dreyer
2b68bebb5d namespace std fixes 2011-11-14 15:33:02 +01:00
Frederic Bouvier
f1d0ac52a6 Fix MSVC9 build 2011-11-14 08:38:58 +01:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
Torsten Dreyer
fcf0371777 fix cmake conditional for event-input 2011-09-21 19:22:32 +02:00
James Turner
7dd8f00c42 Enable event-input for joysticks by default on Mac + Linux, in Cmake. 2011-09-21 17:13:13 +01:00
James Turner
2de3872d66 In joystick configurations, fall back to <unix> if no <mac> entry was provided, since the number is frequently identical. 2011-09-15 09:54:00 +01:00
Mathias Froehlich
549c5eccb9 cmake: Factor out common simgear dependency libs.
Factor out and use this core simgear depenency
library cmake variable.
2011-09-11 11:22:10 +02:00
James Turner
a5a8090d52 Cmake: Split simgear libraries into core and scene (only scene uses OSG). Fix linkage issues, and make helper binaries (yasim, terrasync) link against less stuff. 2011-09-08 13:59:40 +01:00
ThorstenB
28496bb6ac #359: jumping mouse control axis in "constrained" mouse modes
Experimental patch - let's see if this helps those who saw the issue,
otherwise we'll try a different patch...
2011-08-12 00:24:25 +02:00
James Turner
6c52a5ac85 Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
Torsten Dreyer
ca02aa8a04 JoystickInput: fix potential init problem
Don't remember the axis position before bindings are loaded
2011-07-17 22:26:37 +02:00
Mathias Froehlich
32159c6bce Make the 32'th joystick button work. 2011-07-07 18:41:26 +02:00
ThorstenB
826784eb18 Martin Spott: Add CMake DBus support for event driven input.
Tested on Linux only, please improve if you see fit.
2011-06-13 00:45:40 +02:00
ThorstenB
be1117f782 fixed #308: "Reload input" did not respect joysticks.xml
Predefined joystick information must be maintained on "reload input".
2011-05-28 11:16:03 +02:00
ThorstenB
473d1447c3 Minor renderer clean-up & performance bits.
Use non-static methods so we can use member variables.
2011-05-21 13:24:23 +02:00
ThorstenB
1456635c55 Fixed minor memory leak on joystick reload. 2011-04-13 21:30:11 +02:00
Frederic Bouvier
257e3390c9 Detect joystick disconnection 2011-01-30 21:14:32 +01:00
James Turner
2ea7f87ae1 Andreas Gaeb: make input (joystick) re-init work. 2011-01-29 16:05:02 +00:00
Torsten Dreyer
ac4d22628e remove debug message spam 2011-01-21 20:44:35 +01:00
Torsten Dreyer
4e3a2a2c1c EventInput(Linux): experimental initial read of values
First test of reading the button state and axes positions
on initialization of the device.
2011-01-17 20:27:03 +01:00
Frederic Bouvier
d0a2fbba99 Revert joystick patch. One would have to provide a better one 2011-01-14 22:37:39 +01:00
Frederic Bouvier
4ec8b1e57f Include plib ul 2011-01-14 22:09:21 +01:00
Frederic Bouvier
47624c1a4f More joystick code fixes 2011-01-14 22:07:13 +01:00
Frederic Bouvier
ab686ab8d4 It looks like it was not the last mac js code that was committed in the first place 2011-01-14 22:03:15 +01:00
Frederic Bouvier
bb6d1b14c5 Fix a typo in the Mac js code 2011-01-14 21:52:36 +01:00
Frederic Bouvier
4d0a6f5668 Olaf Flebbe: incorporate plib js code to fix problems with MS joysticks under Vista and 7 2011-01-14 21:32:59 +01:00
ThorstenB
8efe895355 Added several include files, thanks to Roland Haeder
Added includes missing for some compiler/platform.
2011-01-08 22:34:43 +01:00
Torsten Dreyer
8cab5f9e60 Make mouse buttons work again. 2011-01-08 12:50:55 +01:00
Torsten Dreyer
8a08507282 MouseInput: invert y-accel property
Syd Adams:  It could be inverted with nasal for use,
but it feels more natural with positive /forward , negative /
back.
2011-01-08 09:11:46 +01:00
Torsten Dreyer
0361f136fe MouseInput: Add accel-x and accel-y
Syd Adams:
Is there any interest in mouse acceleration properties, besides myself ?

Obviously there is. Some code cleanup comes with it.
2011-01-07 21:05:17 +01:00
James Turner
2b5f50e856 WIN32/MSVC fixes from Olaf Flebbe 2010-12-27 12:44:17 +00:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00
James Turner
545969054c Use new Simgear platform defines in Input code. 2010-10-31 12:23:16 +00:00
Torsten Dreyer
657cd883d7 Compile again, replace clib strXXX with std::string 2010-10-25 14:48:56 +02:00
James Turner
7ccba95b9c Remove direct uses of PLIB ulXXX functions 2010-10-24 07:10:51 +01:00
James Turner
025b94f099 Even more std::string fixes. 2010-08-09 09:40:20 +01:00
James Turner
19360a8425 Fix 'using std::' abuses 2010-08-09 08:36:20 +01:00
Torsten Dreyer
c89b18ddbd Ignore generated files
add generated files to gitignore that has also been in cvsignore
remove generated config.h-msvc* from source control
2010-06-02 11:27:16 +02:00