VERSION 1 KEYSWITCH TD_0 0 0 KEYSWITCH TD_1 0 1 # ============================================================================== NAME TapDance to TapDance rollover left to right RUN 5 ms PRESS TD_0 RUN 5 ms PRESS TD_1 RUN 1 cycle EXPECT keyboard-report Key_A # TD_0 should be interrupted, yielding `A` RUN 4 ms RELEASE TD_0 RUN 5 ms RELEASE TD_1 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_A, Key_B # TD_1 should time out, yielding `B` EXPECT keyboard-report Key_B # TD_0 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 50ms RUN 5 ms PRESS TD_0 RUN 5 ms PRESS TD_1 RUN 1 cycle EXPECT keyboard-report Key_A # TD_0 should be interrupted, yielding `A` RUN 4 ms RELEASE TD_0 RUN 5 ms RELEASE TD_1 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_A, Key_B # TD_1 should time out, yielding `B` EXPECT keyboard-report Key_B # TD_0 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 100ms # ============================================================================== NAME TapDance to TapDance rollover right to left RUN 5 ms PRESS TD_1 RUN 5 ms PRESS TD_0 RUN 1 cycle EXPECT keyboard-report Key_B # TD_1 should be interrupted, yielding `B` RUN 4 ms RELEASE TD_1 RUN 5 ms RELEASE TD_0 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_B, Key_A # TD_0 should time out, yielding `A` EXPECT keyboard-report Key_A # TD_1 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 150ms RUN 5 ms PRESS TD_1 RUN 5 ms PRESS TD_0 RUN 1 cycle EXPECT keyboard-report Key_B # TD_1 should be interrupted, yielding `B` RUN 4 ms RELEASE TD_1 RUN 5 ms RELEASE TD_0 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_B, Key_A # TD_0 should time out, yielding `A` EXPECT keyboard-report Key_A # TD_1 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 200ms # ============================================================================== NAME TapDance to TapDance rollover back and forth RUN 5 ms PRESS TD_0 RUN 5 ms PRESS TD_1 RUN 1 cycle EXPECT keyboard-report Key_A # TD_0 should be interrupted, yielding `A` RUN 4 ms RELEASE TD_0 RUN 5 ms RELEASE TD_1 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_A, Key_B # TD_1 should time out, yielding `B` EXPECT keyboard-report Key_B # TD_0 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 250ms RUN 5 ms PRESS TD_1 RUN 5 ms PRESS TD_0 RUN 1 cycle EXPECT keyboard-report Key_B # TD_1 should be interrupted, yielding `B` RUN 4 ms RELEASE TD_1 RUN 5 ms RELEASE TD_0 RUN 15 ms # timeout = 25ms RUN 1 cycle EXPECT keyboard-report Key_B, Key_A # TD_0 should time out, yielding `A` EXPECT keyboard-report Key_A # TD_1 should be released EXPECT keyboard-report empty # Empty report after TD_1 timeout RUN 14 ms # t = 300ms