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
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
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
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
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
Roland Winklmeier
bd251b5de6
Fix license headers
2016-02-16 20:01:21 +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
199a1e5fcb
refs #453 Refactor CInputManger and low level input handlers
2015-11-19 20:57:59 +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
9c81467fe9
refs #403 add BlackInput shared library build
2015-05-05 21:34:23 +02:00
Roland Winklmeier
1b26311983
Fix license header spelling
2015-04-16 00:59:56 +02:00
Michał Garapich
985a1caecf
refs #396 BlackMisc: nw* goes to network/, hw* goes to hardware/
2015-04-07 19:22:37 +02:00
Mathew Sutcliffe
3dfcbb10e9
Fix MSVC error when building for 64bits
2015-04-05 23:11:11 +01:00
Klaus Basan
28132d8e40
Fixed warnings from compiler and Jenkins build
2015-03-29 20:15:25 +02:00
Roland Winklmeier
d71e380a91
refs #341 Fix operator= return types
2014-11-05 16:07:31 +01:00
Roland Winklmeier
34326447f8
refs #317 IKeyboard implementation fixes
...
- private constructor
- deleted public copy constructor
- deleted public assignment operator
2014-08-27 19:23:42 +02:00
Roland Winklmeier
80f8e33ba0
refs #317 Add stub Linux and OSX IJoystick implementations
2014-08-27 19:23:39 +02:00
Roland Winklmeier
78cab16a3d
refs #317 IJoystick windows implementation
2014-08-27 19:23:32 +02:00
Roland Winklmeier
8e16f9619f
refs #313 Fix argument by const reference
2014-08-19 14:42:23 +02:00
Roland Winklmeier
2f527f72c3
refs #313 Remove the responsibility from IKeyboard to register
...
and call functions. Instead just monitor key ups and downs.
2014-08-19 14:41:36 +02:00
Roland Winklmeier
50b5e80057
refs #313 Remove any occurence of function or virtual keycode from CKeyboardKey(list)
...
Justification for native virtual key is, because its not cross platform.
2014-08-19 14:41:34 +02:00
Roland Winklmeier
498dc5e1df
refs #265 Linux raw keyboard mappings
2014-06-15 20:30:47 +02:00
Roland Winklmeier
a131e8c91c
Move IKeyboard and subclasses to new library BlackInput
...
refs #256
2014-06-15 19:22:59 +02:00