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.
Kaleidoscope/tests/plugins/PrefixLayer/basic/test.ktest

273 lines
6.2 KiB

VERSION 1
KEYSWITCH PREFIX_B 0 0
KEYSWITCH CTRL 1 0
KEYSWITCH SHIFT 1 1
KEYSWITCH H 2 0
KEYSWITCH J 2 1
KEYSWITCH K 2 2
# ==============================================================================
NAME Prefix layer passthrough
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # press Ctrl
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_H # press H
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report empty # release H
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
# ==============================================================================
NAME Prefix layer explicit
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS J
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # press Ctrl
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_DownArrow # press J
RUN 4 ms
RELEASE J
RUN 1 cycle
EXPECT keyboard-report empty # release J
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
# ==============================================================================
NAME Prefix layer masked
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS K
RUN 1 cycle
EXPECT no keyboard-report # press K (masked)
RUN 4 ms
RELEASE K
RUN 1 cycle
EXPECT no keyboard-report # release K (masked)
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
# ==============================================================================
NAME Prefix layer same modifier first
RUN 4 ms
PRESS CTRL
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # press Ctrl
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_LCtrl # press Ctrl
EXPECT keyboard-report Key_LCtrl Key_H # press H
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # release H
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
RUN 4 ms
RELEASE CTRL
RUN 1 cycle
EXPECT keyboard-report empty # release Ctrl
# ==============================================================================
NAME Prefix layer same modifier second
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS CTRL
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # press Ctrl
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_LCtrl # press Ctrl
EXPECT keyboard-report Key_LCtrl Key_H # press H
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # release H
RUN 4 ms
RELEASE CTRL
RUN 1 cycle
EXPECT keyboard-report empty # release Ctrl
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
# ==============================================================================
NAME Prefix layer different modifier first
RUN 4 ms
PRESS SHIFT
RUN 1 cycle
EXPECT keyboard-report Key_LShift # press Shift
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # release pressed Shift and press Ctrl
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_LShift # restoring pressed Shift
EXPECT keyboard-report Key_LShift Key_H # press H
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report Key_LShift # release H
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
RUN 4 ms
RELEASE SHIFT
RUN 1 cycle
EXPECT keyboard-report empty # release Ctrl
# ==============================================================================
NAME Prefix layer different modifier second
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS SHIFT
RUN 1 cycle
EXPECT keyboard-report Key_LShift # press Shift
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_LCtrl # release pressed Shift and press Ctrl
EXPECT keyboard-report Key_LCtrl Key_B # press B, Ctrl held
EXPECT keyboard-report Key_LCtrl # release B, Ctrl held
EXPECT keyboard-report empty # release Ctrl
EXPECT keyboard-report Key_LShift # restoring pressed Shift
EXPECT keyboard-report Key_LShift Key_H # press H
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report Key_LShift # release H
RUN 4 ms
RELEASE SHIFT
RUN 1 cycle
EXPECT keyboard-report empty # release Ctrl
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
# ==============================================================================
NAME Prefix layer rollover from letter
RUN 4 ms
PRESS K
RUN 1 cycle
EXPECT keyboard-report Key_K # press K
RUN 4 ms
PRESS PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after pressing PREFIX_B
RUN 4 ms
PRESS H
RUN 1 cycle
EXPECT keyboard-report Key_K Key_LCtrl # hold K and press Ctrl
EXPECT keyboard-report Key_K Key_LCtrl Key_B # press B, hold K & Ctrl
EXPECT keyboard-report Key_K Key_LCtrl # release B, hold K & Ctrl
EXPECT keyboard-report Key_K # release Ctrl
EXPECT keyboard-report Key_K Key_H # hold K, press H
RUN 4 ms
RELEASE K
RUN 1 cycle
EXPECT keyboard-report Key_H # release K
RUN 4 ms
RELEASE PREFIX_B
RUN 1 cycle
EXPECT no keyboard-report # no report after releasing PREFIX_B
RUN 4 ms
RELEASE H
RUN 1 cycle
EXPECT keyboard-report empty # release H