diff --git a/src/browser/keyboard.js b/src/browser/keyboard.js index d9659596..6fe76068 100644 --- a/src/browser/keyboard.js +++ b/src/browser/keyboard.js @@ -111,7 +111,7 @@ function KeyboardAdapter(bus) * ascii -> javascript event code (US layout) * @const */ - var asciimap = {10: 13, 32: 32, 39: 222, 44: 188, 45: 189, 46: 190, 47: 191, 48: 48, 49: 49, 50: 50, 51: 51, 52: 52, 53: 53, 54: 54, 55: 55, 56: 56, 57: 57, 59: 186, 61: 187, 91: 219, 92: 220, 93: 221, 96: 192, 97: 65, 98: 66, 99: 67, 100: 68, 101: 69, 102: 70, 103: 71, 104: 72, 105: 73, 106: 74, 107: 75, 108: 76, 109: 77, 110: 78, 111: 79, 112: 80, 113: 81, 114: 82, 115: 83, 116: 84, 117: 85, 118: 86, 119: 87, 120: 88, 121: 89, 122: 90}; + var asciimap = {8: 8, 10: 13, 32: 32, 39: 222, 44: 188, 45: 189, 46: 190, 47: 191, 48: 48, 49: 49, 50: 50, 51: 51, 52: 52, 53: 53, 54: 54, 55: 55, 56: 56, 57: 57, 59: 186, 61: 187, 91: 219, 92: 220, 93: 221, 96: 192, 97: 65, 98: 66, 99: 67, 100: 68, 101: 69, 102: 70, 103: 71, 104: 72, 105: 73, 106: 74, 107: 75, 108: 76, 109: 77, 110: 78, 111: 79, 112: 80, 113: 81, 114: 82, 115: 83, 116: 84, 117: 85, 118: 86, 119: 87, 120: 88, 121: 89, 122: 90}; var asciimap_shift = {33: 49, 34: 222, 35: 51, 36: 52, 37: 53, 38: 55, 40: 57, 41: 48, 42: 56, 43: 187, 58: 186, 60: 188, 62: 190, 63: 191, 64: 50, 65: 65, 66: 66, 67: 67, 68: 68, 69: 69, 70: 70, 71: 71, 72: 72, 73: 73, 74: 74, 75: 75, 76: 76, 77: 77, 78: 78, 79: 79, 80: 80, 81: 81, 82: 82, 83: 83, 84: 84, 85: 85, 86: 86, 87: 87, 88: 88, 89: 89, 90: 90, 94: 54, 95: 189, 123: 219, 124: 220, 125: 221, 126: 192}; // From: diff --git a/tests/full/run.js b/tests/full/run.js index 937a4483..3fa9a9d0 100755 --- a/tests/full/run.js +++ b/tests/full/run.js @@ -290,14 +290,33 @@ if(cluster.isMaster) { name: "FreeBSD", skip_if_disk_image_missing: true, - timeout: 5 * 60, - hda: root_path + "/../v86-images/os/freebsd.img", - expected_texts: ["FreeBSD/i386 (nyu) (ttyv0)"], + timeout: 10 * 60, + hda: root_path + "/images/internal/freebsd/freebsd.img", + expected_texts: [ + "FreeBSD/i386 (nyu) (ttyv0)", + "root@nyu:~ #", + ], actions: [ { - on_text: " Autoboot in ", + on_text: " Autoboot in", run: "\n", - } + }, + { + // workaround for freebsd not accepting key inputs just before the boot prompt + // (probably needs delay between keydown and keyup) + on_text: "FreeBSD/i386 (nyu) (ttyv0)", + run: "\x08", // backspace to avoid messing with login prompt + }, + { + on_text: "login:", + after: 1000, + run: "root\n", + }, + { + on_text: "Password:", + after: 1000, + run: "\n", + }, ], }, {