The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

d/qwerty: Fix input timestamps

authored by

Shawn Wallace and committed by
Jakob Bornecrantz
24b13de5 30c2016e

+32 -6
+30 -6
src/xrt/drivers/qwerty/qwerty_device.c
··· 19 19 #include "util/u_logging.h" 20 20 #include "util/u_time.h" 21 21 #include "util/u_misc.h" 22 + #include "os/os_time.h" 22 23 23 24 #include "qwerty_device.h" 24 25 ··· 116 117 QWERTY_TRACE(qd, "select: %u, menu: %u", qc->select_clicked, qc->menu_clicked); 117 118 118 119 xd->inputs[QWERTY_SELECT].value.boolean = qc->select_clicked; 120 + xd->inputs[QWERTY_SELECT].timestamp = qc->select_timestamp; 119 121 xd->inputs[QWERTY_MENU].value.boolean = qc->menu_clicked; 122 + xd->inputs[QWERTY_MENU].timestamp = qc->menu_timestamp; 120 123 } 121 124 122 125 static void ··· 501 504 502 505 // Controller methods 503 506 504 - // clang-format off 505 - void qwerty_press_select(struct qwerty_controller *qc) { qc->select_clicked = true; } 506 - void qwerty_release_select(struct qwerty_controller *qc) { qc->select_clicked = false; } 507 - void qwerty_press_menu(struct qwerty_controller *qc) { qc->menu_clicked = true; } 508 - void qwerty_release_menu(struct qwerty_controller *qc) { qc->menu_clicked = false; } 509 - // clang-format on 507 + void 508 + qwerty_press_select(struct qwerty_controller *qc) 509 + { 510 + qc->select_clicked = true; 511 + qc->select_timestamp = os_monotonic_get_ns(); 512 + } 513 + 514 + void 515 + qwerty_release_select(struct qwerty_controller *qc) 516 + { 517 + qc->select_clicked = false; 518 + qc->select_timestamp = os_monotonic_get_ns(); 519 + } 520 + 521 + void 522 + qwerty_press_menu(struct qwerty_controller *qc) 523 + { 524 + qc->menu_clicked = true; 525 + qc->menu_timestamp = os_monotonic_get_ns(); 526 + } 527 + 528 + void 529 + qwerty_release_menu(struct qwerty_controller *qc) 530 + { 531 + qc->menu_clicked = false; 532 + qc->menu_timestamp = os_monotonic_get_ns(); 533 + } 510 534 511 535 void 512 536 qwerty_follow_hmd(struct qwerty_controller *qc, bool follow)
+2
src/xrt/drivers/qwerty/qwerty_device.h
··· 91 91 struct qwerty_device base; 92 92 93 93 bool select_clicked; 94 + int64_t select_timestamp; 94 95 bool menu_clicked; 96 + int64_t menu_timestamp; 95 97 96 98 /*! 97 99 * Only used when a qwerty_hmd exists in the system.