From 76d613a87ddece9f0de79e28ac1608e18e7027fd Mon Sep 17 00:00:00 2001 From: Frank Kunz Date: Fri, 6 May 2022 21:51:04 +0200 Subject: [PATCH] test alternative spnav axis mapping Signed-off-by: Frank Kunz --- src/canvas3d/canvas3d.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/canvas3d/canvas3d.cpp b/src/canvas3d/canvas3d.cpp index 1183ce16..3a7f9bb7 100644 --- a/src/canvas3d/canvas3d.cpp +++ b/src/canvas3d/canvas3d.cpp @@ -133,15 +133,16 @@ void Canvas3D::handle_spnav() switch (e.type) { case SPNAV_EVENT_MOTION: { const auto thre = spacenav_prefs.threshold; - const auto values = {e.motion.x, e.motion.y, e.motion.z, e.motion.rx, e.motion.rz}; + const auto values = {e.motion.x, e.motion.y, e.motion.z, e.motion.rx, e.motion.ry}; + printf("x:%d y:%d z:%d rx:%d ry:%d rz:%d\n", e.motion.x, e.motion.y, e.motion.z, e.motion.rx, e.motion.ry, e.motion.rz); if (std::any_of(values.begin(), values.end(), [thre](auto x) { return std::abs(x) > thre; })) { start_anim(); const auto center_shift = - get_center_shift(glm::vec2(e.motion.x, e.motion.y) * spacenav_prefs.pan_scale); + get_center_shift(glm::vec2(e.motion.x, e.motion.z) * spacenav_prefs.pan_scale); cx_animator.target += center_shift.x; cy_animator.target += center_shift.y; - zoom_animator.target += e.motion.z * spacenav_prefs.zoom_scale; - azimuth_animator.target += e.motion.rz * spacenav_prefs.rotation_scale; + zoom_animator.target += -e.motion.y * spacenav_prefs.zoom_scale; + azimuth_animator.target += -e.motion.ry * spacenav_prefs.rotation_scale; elevation_animator.target += e.motion.rx * spacenav_prefs.rotation_scale; } } break; -- 2.36.0