T6DOF operator-(const T6DOF& A, const T6DOF& B) { RotationType R_A(A.axes[Yaw]*D2R, A.axes[Pitch]*D2R, A.axes[Roll]*D2R); RotationType R_B(B.axes[Yaw]*D2R, B.axes[Pitch]*D2R, B.axes[Roll]*D2R); RotationType R_C = R_A * R_B.inv(); T6DOF C; R_C.toEuler(C.axes[Yaw], C.axes[Pitch], C.axes[Roll]); C.axes[Yaw] *= R2D; C.axes[Pitch] *= R2D; C.axes[Roll] *= R2D; C.axes[TX] = A.axes[TX] - B.axes[TX]; C.axes[TY] = A.axes[TY] - B.axes[TY]; C.axes[TZ] = A.axes[TZ] - B.axes[TZ]; //C.frame_number? return C; }
#define MDIA 2 LAYOUT( [BASE] = LAYER( K(US_SC('=')), K(US_SC('1')), K(US_SC('2')), K(US_SC('3')), K(US_SC('4')), K(US_SC('5')), K(US_SC(L_C('-'))), K(US_SC(DELETE)), K(US_SC('q')), K(US_SC('w')), K(US_SC('e')), K(US_SC('r')), K(US_SC('t')), L(GOTO, SYMB), K(US_SC(BKSP)), K(US_SC('a')), K(US_SC('s')), K(US_SC('d')), K(US_SC('f')), K(US_SC('g')), HTA(K(US_SC(L_SHIFT)), K(US_SC('('))), THA(K(US_SC('z')), K(US_SC(L_CTRL))), K(US_SC('x')), K(US_SC('c')), K(US_SC('v')), K(US_SC('b')), HTA(K(US_SC(L_C(L_S(L_A(L_G(0)))))), K(US_SC('['))), HTA(L(VISIT, SYMB), K(US_SC('`'))), K(US_SC('\'')), K(US_SC(L_A(L_S(0)))), K(US_SC(LEFT)), K(US_SC(RIGHT)), HTA(K(US_SC(L_ALT)), K(US_SC(APP))), K(US_SC(L_GUI)), K(US_SC(HOME)), K(US_SC(' ')), LEADER_KEY, K(US_SC(END)), K(US_SC(R_C('='))), K(US_SC('6')), K(US_SC('7')), K(US_SC('8')), K(US_SC('9')), K(US_SC('0')), K(US_SC('-')), L(GOTO, SYMB), K(US_SC('y')), K(US_SC('u')), K(US_SC('i')), K(US_SC('o')), K(US_SC('p')), K(US_SC('\\')), K(US_SC('h')), THA(K(US_SC('j')), K(US_SC(R_ALT))), K(US_SC('k')), K(US_SC('l')), THA(K(US_SC(';')), L(VISIT, MDIA)), THA(K(US_SC('\'')), K(US_SC(R_GUI))), HTA(K(US_SC(R_C(R_S(R_A(0))))), K(US_SC(']'))), K(US_SC('n')), K(US_SC('m')), K(US_SC(',')), K(US_SC('.')), THA(K(US_SC('/')), K(US_SC(R_CTRL))), HTA(K(US_SC(R_SHIFT)), K(US_SC(')'))), K(US_SC(UP)), K(US_SC(DOWN)), K(US_SC('[')), K(US_SC(']')), HTA(L(VISIT, SYMB), K(US_SC('-'))), K(US_SC(R_ALT)), HTA(K(US_SC(R_CTRL)), K(US_SC(ESC))), K(US_SC(PG_UP)), K(US_SC(PG_DN)), HTA(L(VISIT, SYMB), K(US_SC(TAB))), K(US_SC(ENTER)) ), [SYMB] = LAYER( NO_ACTION, K(US_SC(F1)), K(US_SC(F2)), K(US_SC(F3)), K(US_SC(F4)), K(US_SC(F5)), NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, L(GOTO, BASE), NO_ACTION, K(US_SC('1')), K(US_SC('2')), K(US_SC('3')), K(US_SC('4')), K(US_SC('5')), NO_ACTION, K(US_SC('6')), K(US_SC('7')), K(US_SC('8')), K(US_SC('9')), K(US_SC('0')), NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, K(US_SC(L_C(PG_UP))), K(US_SC(L_C(PG_DN))), NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, NO_ACTION, K(US_SC(F6)), K(US_SC(F7)), K(US_SC(F8)), K(US_SC(F9)), K(US_SC(F10)), K(US_SC(F11)),