Commit Graph

72 Commits

Author SHA1 Message Date
bubnikv
25d58faaad WIP: Windows specific 3Dconnexion using WM_INPUT.
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\

The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
2020-03-31 09:01:55 +02:00
bubnikv
4938d5ab63 Fixed orientations of some 3D connexion axes when in the swapped YZ mode. 2020-03-20 17:19:20 +01:00
Enrico Turri
7c56cc9f22 Follow-up of f912fecad5 -> option to swap y/z axes extended to rotations 2020-03-20 16:13:08 +01:00
Enrico Turri
f912fecad5 3DConnexion devices: added option to swap y/z translations 2020-03-20 13:09:42 +01:00
bubnikv
98fc01afe7 Fix of compilation on OSX and Linux, update of camera after 3D mouse
disconnect moved to the main thread.
2020-03-13 14:57:45 +01:00
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
ccbf5379ab More detailed logging of hid_init() on unixes to detect why
loading of "libudev.so.1" or "libudev.so.0" failed.
2020-03-12 09:42:25 +01:00
Enrico Turri
1d337b0e24 #3791 - Linear zoom for 3DConnexion devices 2020-03-10 13:43:49 +01:00
Enrico Turri
a6a9ab9dc7 Follow-up of 6c36577e8e -> World Z axis set to vertical when disconnecting 3d mouse 2020-03-10 13:02:39 +01:00
bubnikv
ec75b760b8 Fix of saving the 3DConnexion status on OSX.
Fixes 2.2.0 RC2 - 3Dconnexion settings not saved / Zoom digital (#3791)
2020-03-09 10:36:55 +01:00
bubnikv
b3b800de65 Refactoring of RemovableDriveManager:
1) On Windows and Linux, the device enumeration now runs at a background
   thread, while it ran on the UI thread on idle, which may have been
   blocking on some rare Windows setups, see GH #3515 #3733 #3746 #3766
2) On OSX, the device enumeration now relies on OS callback, no
   polling is required.
3) Refactored for cleaner interface.
2020-03-06 15:10:58 +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
bubnikv
0a0219961b Free rotating camera reworked to rotate around the free rotation
axis in a single step.
2020-02-28 14:59:59 +01:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
5797c9edc2 ENABLE_3DCONNEXION_Y_AS_ZOOM set as default 2020-02-13 09:20:20 +01:00
David Kocik
1392609c75 osx 3dmouse change of rotation directions 2020-01-21 15:55:59 +01:00
David Kocik
15391da512 OSX handler for 3dconnexion drivers 2020-01-21 14:44:20 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
Enrico Turri
94a3d38afd ENABLE_3DCONNEXION_DEVICES_CLOSE_SETTING_DIALOG set as default 2020-01-17 11:45:52 +01:00
Enrico Turri
02aa629449 3DConnexion devices -> Tweak of sensitivity parameters and dependency of translation from zoom factor 2020-01-17 09:36:34 +01:00
Enrico Turri
3f2ccf08d2 3Dconnexion devices translation linearly dependent on zoom 2020-01-16 10:17:07 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
Enrico Turri
7a8251b626 Attempt to fix #3479 2020-01-08 12:30:42 +01:00
Enrico Turri
8559360cf8 #3385 - Further extended min/max sensitivity for 3Dconnexion devices 2020-01-07 13:17:39 +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
3fb9fd4e30 #3389 - Added logging of detected 3Dconnexion device 2020-01-03 10:01:27 +01:00
Enrico Turri
51ca7cbdfe #3385 - Increased max sensitivity for 3Dconnexion devices 2020-01-02 11:56:48 +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
57d069bd0a Some rework on layout of imgui dialogs 2019-12-11 15:30:25 +01:00
YuSanka
fea91829eb Localization improvements:
* added wrapper to SliderFloat in imgui
 * fixed localized text in Mouse3DController
 * added take_snapshot for extruder change in object list
 * fixed text typos in AppConfig.cpp, ConfigWizard.cpp and ConfigManipulation.cpp
2019-12-04 16:11:10 +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
2bbd916ccc Fixed build on Linux 2019-11-25 11:13:50 +01:00
Enrico Turri
ab00f501f1 #3230 - Detection of 3Dconnexion devices every 2 seconds 2019-11-25 10:34:42 +01:00
Enrico Turri
db51809191 Fixed build on Linux 2019-11-11 13:41:50 +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
932b5be196 Fixed build on Linux 2019-11-08 15:54:44 +01:00
Enrico Turri
08861250bf 3Dconnexion devices -> Added extra debug output 2019-11-08 14:43:15 +01:00
Enrico Turri
a87d83aeb1 3Dconnexion devices -> Another change in logic to select device 2019-11-08 13:31:34 +01:00
Enrico Turri
b10d128ffd 3Dconnexion devices -> Modified logic to select device on Linux 2019-11-08 11:51:56 +01:00
Enrico Turri
4320b8f711 3Dconnexion devices -> Fix into Mouse3DController::handle_packet_button 2019-11-08 09:18:59 +01:00
Enrico Turri
68d6a45815 3D connexion devides -> Added handling of 3 bytes long button packets 2019-11-08 08:47:57 +01:00
Enrico Turri
d4f190a0c1 Fixed build on Linux and Mac 2019-10-21 15:20:36 +02:00
Enrico Turri
3ce3f33c9c Mouse3DController::connect_device() -> Modified logic to detect and select plugged device 2019-10-21 14:21:51 +02:00
Enrico Turri
c47ca5a2c0 Mouse3DController -> Added debug output of device serial number 2019-10-21 11:30:29 +02:00
Enrico Turri
a065c92302 Mouse3DController -> Enabled debug output to check device connection on Linux and Max 2019-10-21 11:06:18 +02:00
Enrico Turri
e6403a74ef ENABLE_3DCONNEXION_DEVICES tech set as default 2019-10-11 15:51:36 +02:00
Enrico Turri
1c05d88c00 ENABLE_3DCONNEXION_DEVICES -> Added support for 3Dconnexion universal receiver and battery level report 2019-10-11 15:29:57 +02:00
Enrico Turri
a7972bcc77 ENABLE_3DCONNEXION_DEVICES -> Debug output of device features 2019-10-11 09:16:20 +02:00