/* Copyright 2012 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /** @brief A handler for an `ectool` command. */ struct command { /** The name of the command. */ const char *name; /** * The function to handle the command. * * @param argc The length of `argv` * @param argv The arguments passed, including the command itself but * not 'ectool'. * @return 0 if successful, or a negative `enum ec_status` value. */ int (*handler)(int argc, char *argv[]); }; /** * Test low-level key scanning * * ectool keyscan * * is the length of a beat in microseconds. This indicates the * typing speed. Typically we scan at 10ms in the EC, so the beat period * will typically be 1-5ms, with the scan changing only every 20-30ms at * most. * specifies a file containing keys that are depressed on each * beat in the following format: * * * * is a beat number (0, 1, 2). The timestamp of this event will * be + * . * is a (possibly empty) list of ASCII keys * * The key matrix is read from the fdt. */ int cmd_keyscan(int argc, char *argv[]);