You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1219 lines
25 KiB
1219 lines
25 KiB
4 years ago
|
VERSION 1
|
||
|
|
||
|
KEYSWITCH L0 0 0
|
||
|
KEYSWITCH L1 0 1
|
||
|
KEYSWITCH L2 0 2
|
||
|
|
||
|
KEYSWITCH L01 1 0
|
||
|
KEYSWITCH L02 1 1
|
||
|
KEYSWITCH L12 1 2
|
||
|
|
||
|
KEYSWITCH LAYER_SHIFT_0 2 0
|
||
|
KEYSWITCH LAYER_SHIFT_1 2 1
|
||
|
KEYSWITCH LAYER_SHIFT_2 2 2
|
||
|
|
||
|
KEYSWITCH OTHER_SHIFT_0 2 0
|
||
|
KEYSWITCH OTHER_SHIFT_1 2 1
|
||
|
KEYSWITCH OTHER_SHIFT_2 2 2
|
||
|
|
||
|
KEYSWITCH LAYER_LOCK_0 3 0
|
||
|
KEYSWITCH LAYER_LOCK_1 3 1
|
||
|
KEYSWITCH LAYER_LOCK_2 3 2
|
||
|
|
||
|
KEYSWITCH LAYER_MOVE_0 0 7
|
||
|
KEYSWITCH LAYER_MOVE_1 1 7
|
||
|
KEYSWITCH LAYER_MOVE_2 2 7
|
||
|
|
||
|
KEYSWITCH LAYER_SHIFT_NEXT 0 10
|
||
|
KEYSWITCH LAYER_SHIFT_PREV 0 11
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Startup layer state
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 0 active
|
||
|
RUN 4 ms
|
||
|
PRESS L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_0 # Report should contain only `0`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Layer shift 1
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 0 active
|
||
|
RUN 4 ms
|
||
|
PRESS L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_0 # Report should contain only `0`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Layer lock 1
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 0 active
|
||
|
RUN 4 ms
|
||
|
PRESS L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_0 # Report should contain only `0`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L0
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Reset from layer shift
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Layer moves
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 active
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Layer lock promotion
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 1
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 active
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 1
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Layer lock promote base layer
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(0)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 0 on top of layer 1
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_0 # Report should contain only `0`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario A
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 1
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario B
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario C
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario D
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 active
|
||
|
RUN 4 ms
|
||
|
PRESS L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L2
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario E
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 1
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 active
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario F
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME Scenario G
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(1)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `ShiftToLayer(1)`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_1
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)` (reset layer state)
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME layer shift next
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `Key_KeymapNext_Momentary`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_NEXT
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L01
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `Key_KeymapNext_Momentary`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_NEXT
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 inactive
|
||
|
RUN 4 ms
|
||
|
PRESS L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L1
|
||
|
RUN 1 cycle
|
||
|
EXPECT no keyboard-report
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|
||
|
|
||
|
|
||
|
# ==============================================================================
|
||
|
NAME layer shift previous
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `LockLayer(2)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_LOCK_2
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# press & hold `Key_KeymapPrevious_Momentary`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_SHIFT_PREV
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 1 on top of layer 2
|
||
|
RUN 4 ms
|
||
|
PRESS L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_1 # Report should contain only `1`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L12
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# release `Key_KeymapPrevious_Momentary`
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_SHIFT_PREV
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ............................................................
|
||
|
# verify layer 2 on top of layer 0
|
||
|
RUN 4 ms
|
||
|
PRESS L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report Key_2 # Report should contain only `2`
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE L02
|
||
|
RUN 1 cycle
|
||
|
EXPECT keyboard-report empty # Report should be empty
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# tap `MoveToLayer(0)`
|
||
|
RUN 4 ms
|
||
|
PRESS LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
RUN 4 ms
|
||
|
RELEASE LAYER_MOVE_0
|
||
|
RUN 1 cycle
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
RUN 5 ms
|