Support customized Ctrl-D and Enter key commands.

Instead of sending these keys via servo, an user can use his own scripts.

BUG=chromium-os:22597
TEST=manual as follows:
Create two scripts for Ctrl-D and Enter key, like:
$ cat /tmp/ctrl_d_key.sh
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
echo "@@@@@@@@ PRESS CTRL-D IN MY WAY @@@@@@@@"
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
$ cat /tmp/enter_key.sh
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
echo "@@@@@@@@ PRESS ENTER IN MY WAY @@@@@@@@"
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"

Run the test and see:
$ run_remote_tests.sh --remote=$REMOTE_IP -a "xml_config=$OVERLAY_XML \
        servo_vid=0x18d1 servo_pid=0x5001 \
        ctrl_d_cmd=/tmp/ctrl_d_key.sh \
        enter_cmd=/tmp/enter_key.sh" DevTriggerRecovery
...
11:28:23 INFO | calling <bound method firmware_DevTriggerRecovery.wait_fw_screen_and_ctrl_d of <firmware_DevTriggerRecovery.firmware_DevTriggerRecovery object at 0x7fe44f830d50>>
11:28:33 INFO | running the customized Ctrl-D key command
11:28:33 INFO | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
11:28:33 INFO | @@@@@@@@ PRESS CTRL-D IN MY WAY @@@@@@@@
11:28:33 INFO | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...
11:29:12 INFO | calling <bound method firmware_DevTriggerRecovery.wait_fw_screen_and_trigger_recovery of <firmware_DevTriggerRecovery.firmware_DevTriggerRecovery object at 0x7fe44f830d50>>
11:29:22 INFO | running the customized Enter key command
11:29:22 INFO | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
11:29:22 INFO | @@@@@@@@ PRESS ENTER IN MY WAY @@@@@@@@
11:29:22 INFO | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...

Change-Id: Ife0f2da3a941d3df114813909db9b4d25b40d1ad
Reviewed-on: https://gerrit.chromium.org/gerrit/12669
Reviewed-by: Todd Broch <tbroch@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
3 files changed