VERSION 1

KEYSWITCH Redial 0 1
KEYSWITCH A      0 0
KEYSWITCH X      0 2

# ==============================================================================
NAME Redial with no prior keypress

RUN 5 ms
PRESS Redial
RUN 10 ms
RELEASE Redial
RUN 5 ms
EXPECT no keyboard-reports # There should be no HID report without a prior keypress"

# ==============================================================================
NAME RedialFirstKey

RUN 5 ms
PRESS A
RUN 1 cycle
EXPECT keyboard-report Key_A # Report should contain only an A

RUN 10 ms
RELEASE A
RUN 1 cycle
EXPECT keyboard-report empty # Report should be empty

RUN 10 ms 
PRESS Redial
RUN 1 cycle
EXPECT keyboard-report Key_A # Report should contain only an A
  
RUN 10 ms
RELEASE Redial
RUN 1 cycle
EXPECT keyboard-report empty  # keyboard report should be empty

# ==============================================================================
NAME Redial next key

RUN 10 ms
PRESS X
RUN 1 cycle
EXPECT keyboard-report Key_X # Report should contain only an X

RUN 10 ms
RELEASE X
RUN 1 cycle
EXPECT keyboard-report empty  # keyboard report should be empty

RUN 10 ms
PRESS Redial
RUN 1 cycle
EXPECT keyboard-report Key_X # Report should contain only an X

RUN 10 ms
RELEASE Redial
RUN 1 cycle
EXPECT keyboard-report empty  # keyboard report should be empty

# ==============================================================================
NAME Redial rollover

RUN 10 ms
PRESS A
RUN 1 cycle
EXPECT keyboard-report Key_A # Report should contain only an A

RUN 10 ms
PRESS Redial
RUN 1 cycle
EXPECT keyboard-report empty # Report should be empty
EXPECT keyboard-report Key_A # Report should contain only an A

RUN 10 ms
RELEASE A

RUN 10 ms
RELEASE Redial
RUN 1 cycle
EXPECT keyboard-report empty  # keyboard report should be empty

# ==============================================================================
NAME Redial rollover right to left

RUN 10 ms
PRESS X
RUN 1 cycle
EXPECT keyboard-report Key_X # Report should contain only an X

RUN 10 ms
PRESS Redial
RUN 1 cycle
EXPECT keyboard-report empty # Report should be empty
EXPECT keyboard-report Key_X # Report should contain only an X

RUN 10 ms
RELEASE X

RUN 10 ms
RELEASE Redial
RUN 1 cycle
EXPECT keyboard-report empty  # keyboard report should be empty