Commit Graph

37 Commits

Author SHA1 Message Date
bubnikv
2f6326a2eb Windows specific refactoring of Mouse3DController and RemovableDriveManager.
PrusaSlicer newly registers by Windows operating system for HID USB
plug / unplug notifications and for Volume attach / detach notifications,
and the background threads of the two respective services are waken up
on these Windows notifications.
The RemovableDriveManager also wakes up every 30 seconds to cope with
the drives ejected from Windows Explorer or from another application,
for example Cura, for which Windows OS does not send out notifications.
2020-03-13 14:19:14 +01:00
bubnikv
3baea9b458 Fixed uninitialized "Connected" flag of the Mouse3DController
after refactoring.
2020-03-06 15:12:39 +01:00
Lukas Matena
8137f7c4d4 Added a missing include 2020-03-05 12:00:23 +01:00
bubnikv
cbe9216d79 WIP 3Dconnexion refactoring: Fixing compilation on OSX 2020-03-04 12:18:59 +01:00
bubnikv
0b96855c2e Reworked the 3DConnexion interfacing code to run the device
enumeration / connect / disconnect and read out at the background
thread only.
2020-03-04 11:36:36 +01:00
Enrico Turri
5797c9edc2 ENABLE_3DCONNEXION_Y_AS_ZOOM set as default 2020-02-13 09:20:20 +01:00
David Kocik
15391da512 OSX handler for 3dconnexion drivers 2020-01-21 14:44:20 +01:00
Enrico Turri
94a3d38afd ENABLE_3DCONNEXION_DEVICES_CLOSE_SETTING_DIALOG set as default 2020-01-17 11:45:52 +01:00
Enrico Turri
7a8251b626 Attempt to fix #3479 2020-01-08 12:30:42 +01:00
Enrico Turri
83cbe1dd33 3DConnexion devices' Y axis used for zoom in/zoom out 2020-01-03 14:42:52 +01:00
Enrico Turri
a4ad0a0925 Fixed unresponsive 3Dconnexion device when switching to preview 2020-01-03 11:41:29 +01:00
Enrico Turri
43213b9548 Added [X] and [Close] buttons to close 3Dconnexion setting imgui dialog by clicking on them 2019-12-16 13:35:45 +01:00
Enrico Turri
df3e47e093 Another attempt to fix build on Linux (due to ab00f501f1) 2019-11-25 12:45:49 +01:00
Enrico Turri
ab00f501f1 #3230 - Detection of 3Dconnexion devices every 2 seconds 2019-11-25 10:34:42 +01:00
Enrico Turri
98255d566e Disabled ENABLE_3DCONNEXION_DEVICES_DEBUG_OUTPUT 2019-11-22 15:35:34 +01:00
Enrico Turri
dbc0996be1 3Dconnexion devices -> Disabled handling of device buttons / Added camera target to debug dialog / Added extra debug output 2019-11-11 13:04:02 +01:00
Enrico Turri
76a2f72e97 Follow-up of a065c92302 -> proper enabling of debug output 2019-10-21 11:12:56 +02:00
Enrico Turri
e6403a74ef ENABLE_3DCONNEXION_DEVICES tech set as default 2019-10-11 15:51:36 +02:00
Enrico Turri
7caa596b95 ENABLE_3DCONNEXION_DEVICES -> Refactoring and code cleanup 2019-10-10 11:55:17 +02:00
Enrico Turri
f4654e376e ENABLE_3DCONNEXION_DEVICES -> Slightly increased camera target movement limits 2019-10-10 10:49:47 +02:00
Enrico Turri
ded6d44389 Fixed build on OsX 2019-10-10 09:29:55 +02:00
Enrico Turri
aae1250921 ENABLE_3DCONNEXION_DEVICES -> Experimental input queues with max size 2019-10-10 09:04:44 +02:00
Enrico Turri
3a5823bc2e ENABLE_3DCONNEXION_DEVICES -> Added temporary debug output to measure input queue sizes 2019-10-09 15:23:30 +02:00
Enrico Turri
a735ec1b48 ENABLE_3DCONNEXION_DEVICES -> Added tech ENABLE_3DCONNEXION_DEVICES_DEBUG_OUTPUT for debug output 2019-10-09 14:18:43 +02:00
Enrico Turri
4ec6199ef1 ENABLE_3DCONNEXION_DEVICES -> Added translation and rotation customizable parameter deadzone 2019-10-08 14:32:05 +02:00
Enrico Turri
9447d3e1b5 ENABLE_3DCONNEXION_DEVICES -> Mouse3DController reworked to handle reports of length 7 bytes and 13 bytes 2019-10-08 13:38:08 +02:00
Enrico Turri
8aa33a9e05 ENABLE_3DCONNEXION_DEVICES -> Hack for filtering out mouse wheel events coming from 3Dconnexion driver 2019-10-08 08:44:50 +02:00
Enrico Turri
5a94ac9499 ENABLE_3DCONNEXION_DEVICES -> Automatic detection of plugging/unplugging 3Dconnexion devices 2019-10-04 10:59:27 +02:00
Enrico Turri
1d463fc23f ENABLE_3DCONNEXION_DEVICES -> Another small refactoring of Mouse3DController 2019-10-04 07:58:01 +02:00
Enrico Turri
f315681804 ENABLE_3DCONNEXION_DEVICES -> Refactored Mouse3DController to simplify code 2019-10-03 12:16:59 +02:00
Enrico Turri
587effbedf ENABLE_3DCONNEXION_DEVICES -> Refactored Mouse3DController to be unaware of current active GLCanvas3D 2019-10-03 11:38:31 +02:00
Enrico Turri
a554304038 ENABLE_3DCONNEXION_DEVICES -> Serialization of mouse device parameters into config 2019-10-03 10:26:28 +02:00
Enrico Turri
36d3f90fad ENABLE_3DCONNEXION_DEVICES - Added imgui dialog to edit 3Dconnexion device parameters 2019-10-02 15:55:26 +02:00
Enrico Turri
d58dedd459 ENABLE_3DCONNEXION_DEVICES -> Increased limit of device buttons 2019-09-30 15:58:45 +02:00
Vojtech Kral
520a51c62f hidapi: Fix include path 2019-09-30 15:20:23 +02:00
Enrico Turri
1aa559585c Added missing include 2019-09-27 15:26:13 +02:00
Enrico Turri
f958cfd2ff ENABLE_3DCONNEXION_DEVICES - 1st installment of support for 3Dconnexion devices
Implemented using hidapi library (https://github.com/libusb/hidapi) and https://github.com/koenieee/CrossplatformSpacemouseDriver/tree/master/SpaceMouseDriver as reference

Unsolved issues:

- When manipulating the SpaceNavigator wxWidgets generates a mouse wheel event that needs to be filtered out

- wxWidgets does not detect devices being connected/disconnected to the pc

- Current state forces a continuous rendering

- Current state misses dependence on camera zoom

- Non intuitive movement limits

- Translation and rotation speed factors are hardcoded

- Number of device buttons hardcoded
2019-09-27 14:52:19 +02:00