Add initial keyscan test and key matrix

Add a few very basic tests and the required key matrix information.

The key matrix is for snow, and the tests are just enough to exercise
the feature.

BUG=chrome-os-partner:12179
BRANCH=none
TEST=manual for now:
On snow:
./ectool keyscan 10000 key_sequence.txt

See that the test passes.

Change-Id: Ibe5a6fe5333102ba7f37be4b526185a48b3c1ae8
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/35120
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Simon Glass 2012-10-10 10:38:07 -07:00 committed by Gerrit
parent 4769627290
commit 4f410f5468
2 changed files with 50 additions and 0 deletions

50
test/key_sequence.txt Normal file
View File

@ -0,0 +1,50 @@
# Key test sequence
#
# Format is <beat>[ <keys>]
#
# Note that there must be a single space between <beat> and <keys>, if present.
# The time is in units of beats, where the beat can be selected according to
# taste. A typical beat value would be 10ms, meaning that the beat counter
# will move on every 10,000us.
#
# The format of keys is a list of ascii characters, or & followed by a numeric
# ascii value, or * followed by a numeric keycode value. Spaces are ignored
# (use '*32' for space).
#
# Examples:
# abc - press a, b and c
# a &20 - press a and space
# *58 &13 - press KEY_CAPSLOCK and return (ctrl-m)
#
# It is possible for the beat counter to move forward at a variable speed.
# Provided that keyboard repeat does not occur, this should produce the same
# result.
test 2-key rollover abc
expect abc
# Press a, then b, then release a, then release b
seq 0
seq 1 a
seq 3 ab
seq 4 abc
seq 5 b
seq 8
seq 9
endtest
test another
expect a
seq 0
seq 5 a
seq 10
endtest
test fast
expect ab
seq 0
seq 10 a
seq 20 ab
seq 30 b
seq 40
endtest

BIN
test/test-matrix.bin Normal file

Binary file not shown.