Mat Sutcliffe
462172a87f
Fixed clazy warnings: unnecessary containers and containers being detached in range-for loops.
2019-02-22 20:23:37 +00:00
Mat Sutcliffe
9f85a7b560
Fixed clazy warnings: pass large objects by reference to const.
2019-02-22 20:23:33 +00:00
Mat Sutcliffe
82679a3010
Replace qmake variable BLACK_CONFIG with a system based on json files.
...
The config is loaded from json files by qmake, and we define the qmake
function `swiftConfig` for checking whether a feature is enabled.
This function can be directly used in `buildconfig_gen.cpp.in`,
so the trick with C++ comment tokens in variables is not needed.
2019-02-22 20:23:25 +00:00
Roland Winklmeier
0f140cb155
Add more special key codes to keyboard keys
...
ref T404
2018-11-16 02:49:51 +01:00
Roland Winklmeier
5ee8bbe467
Properly initialize and cleanup DirectInput
...
ref T391
2018-11-04 17:42:42 +01:00
Roland Winklmeier
4b3d3bba48
Destroy DirectInput helper window during shutdown
2018-11-04 17:42:42 +01:00
Klaus Basan
00868c8147
Ref T391, temp. workaround to avoid shutdown crash
2018-10-07 18:58:00 +02:00
Klaus Basan
24ee4da4f9
Ref T391, style
2018-10-07 18:56:53 +02:00
Roland Winklmeier
c42900f959
Release input devices when application is shutdown
...
If they are released with the deallocation of CInputManager, we might
run into global deallocation hell.
Also on Windows release all DirectX devices before COM library is closed.
ref T391
2018-10-07 16:17:26 +02:00
Roland Winklmeier
7f1d1847ca
Revert back to DirectInput COM initialization
...
Using and linking against DirectInput libraries directly caused dinput.dll
to be loaded at startup time. Windows 10 kills applications started from
services (as the Jenkins slave service) that load dinput.dll.
This commit also adds some safety in case no helper windows could be created.
2018-10-05 17:39:58 +02:00
Roland Winklmeier
84f1e21cf8
Add support for multiple Joystick devices
...
This includes a major refactoring of the Linux and Windows implementations
Each joystick device is now its own QObject. They all setup their own
native device instances and poll the button states.
On Windows, COM initialization has been removed since it caused segfaults
while releasing the DirectInput8 instance.
ref T254
2018-10-03 03:03:40 +02:00
Roland Winklmeier
f62ab3266f
Implement log message fixmes in joystickwindows.cpp
2018-10-03 03:03:40 +02:00
Roland Winklmeier
89ab1a0138
Add alternative method to poll keyboard state on Windows
...
It seems that Windows is frequently disconnecting the keyboard hook
(eventually if swift was too busy processing messages) and caused all hotkeys
to be unreliable.
Instead use a polling mechanism. The previous method is kept in code for
testing, but is disabled by compile time switch.
2018-10-03 03:03:40 +02:00
Roland Winklmeier
324e16121e
Correct wrong variable types in CKeyboardWindows
2018-10-03 03:03:40 +02:00
Roland Winklmeier
84dcc53dc0
Misc clang warning fixes
2018-08-25 22:12:07 +02:00
Roland Winklmeier
a60ee4a7dd
Use override for destructors
2018-08-25 22:12:06 +02:00
Roland Winklmeier
9b3b645c12
Use nullptr
2018-08-25 22:12:05 +02:00
Klaus Basan
48738c87ab
Keyboard and input manager cleanup/style
2018-08-22 12:32:06 +02:00
Klaus Basan
d39978a1d0
Style
2018-06-13 13:59:38 +02:00
Roland Winklmeier
4aaccb44c3
Cleanup the enabled modules in all sub projects
...
Most modules were just enabled to add include path for dependent headers
2018-06-02 02:08:46 +02:00
Klaus Basan
d3f46f948a
Ref T254, joystick windows avoid crash when shutting down
...
Temp.workaround, we do not really understand why it crashes here.
2018-04-05 02:52:36 +02:00
Klaus Basan
80c9030bdd
Formatting
2018-04-05 02:52:32 +02:00
Klaus Basan
d71e98def3
Changed joystick search class
...
This finds Saitek controls at KB's place
2018-02-22 13:58:41 +01:00
Klaus Basan
2bbc433d30
Formatting
2018-02-22 01:26:42 +01:00
Klaus Basan
602373c97a
Ref T254, avoid crashes when there is no input device
...
* init with nullptr
* formatting
2018-02-22 01:26:39 +01:00
Klaus Basan
be6b67f95d
Filter joystick devices with 0 buttons
...
ref T254
2018-02-22 01:26:36 +01:00
Roland Winklmeier
f53ec46d20
Change the operating system name from OSX to MacOS everywhere
...
Summary:
- Changed the name in all build artifacts
- Everywhere in C++
Reviewers: #swift_pilot_client, kbasan
Reviewed By: #swift_pilot_client, kbasan
Subscribers: jenkins
Maniphest Tasks: T205
Differential Revision: https://dev.swift-project.org/D69
2017-12-06 22:50:19 +01:00
Roland Winklmeier
f0bfad40b7
Remove outdated todos
...
Summary: This commits removes todos which are done or obsolete.
Reviewers: kbasan, msutcliffe
Reviewed By: kbasan
Differential Revision: https://dev.swift-project.org/D6
2017-05-05 22:40:01 +01:00
Mathew Sutcliffe
e3fe8ec39f
refs #937 Resolved clazy warnings: miscellaneous.
2017-04-19 19:31:50 +01:00
Mathew Sutcliffe
fce1513dae
refs #937 Resolved clazy warnings: unnecessary detaching of containers.
2017-04-19 19:31:38 +01:00
Klaus Basan
cc732bca84
Formatting
2017-04-17 23:58:54 +01:00
Mathew Sutcliffe
53fc629490
Removed outdated precompiled header stuff.
2017-02-28 22:34:52 +00:00
Roland Winklmeier
7cb95ef91f
Remove 10.8 and older accessibility since it is no longer supported
2017-02-25 02:11:17 +00:00
Roland Winklmeier
c6bfd3b01d
[Mac OS/X] Enable event taps in case it got disabled by timeout
2016-08-26 21:05:19 +01:00
Roland Winklmeier
4c82009ac1
Define DirectInput Version for Windows builds
2016-08-08 11:23:13 +02:00
Roland Winklmeier
9f3b3c2420
Fix Mac OS X keyboard inputs
2016-08-08 11:22:57 +02:00
Mathew Sutcliffe
1801616953
refs #624 Use conditional SUBDIRS instead of REQUIRES for enabling/disabling subprojects.
2016-03-22 16:03:00 +00:00
Klaus Basan
c3722f9198
refs #485 , refs #584 removed include blackmiscfreefunctions.h
2016-03-18 01:07:49 +00:00
Roland Winklmeier
f82895501f
Fix build on Mac OS X El Capitan (10.11)
2016-02-21 23:09:31 +01:00
Roland Winklmeier
bd251b5de6
Fix license headers
2016-02-16 20:01:21 +01:00
Mathew Sutcliffe
9968ccbbdb
refs #461 Use the REQUIRES variable in the leaf projects instead of conditions at the SUBDIRS level.
2015-11-23 23:29:29 +00:00
Roland Winklmeier
2ff0c9fa86
Fix Windows and OSX includes
2015-11-22 18:45:25 +01:00
Michał Garapich
1b06e15b61
refs #510 Remove underscores from all the source file names
2015-11-22 12:53:09 +01:00
Roland Winklmeier
5eddef0f12
Add install targets
...
refs #486
2015-11-19 21:07:14 +00:00
Mathew Sutcliffe
6b75de0b3f
refs #482 Project files changed to use new qmake feature files and build directory structure.
2015-11-19 21:02:41 +00:00
Roland Winklmeier
199a1e5fcb
refs #453 Refactor CInputManger and low level input handlers
2015-11-19 20:57:59 +00:00
Roland Winklmeier
95fe93a83c
Style fixes
2015-11-19 20:51:16 +00:00
Roland Winklmeier
c31a383547
Fix unsafe and broken keyboard detection on Linux
2015-11-19 20:51:15 +00:00
Klaus Basan
e695987fa2
refs #432 Doxygen, formatting, added new file types in *.pro
...
Minor tweaks:
* GUI infobar minimum size
* toogle lock protected
* removed unused function
* ASSERT_X
* object name
2015-05-28 23:57:14 +02:00
Roland Winklmeier
88cb16321b
Workaround issue in blackinput.pro
2015-05-06 16:21:04 +02:00