Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # ChromeVox on Desktop Linux | 1 # ChromeVox on Desktop Linux |
| 2 | 2 |
| 3 ## Starting ChromeVox | 3 ## Starting ChromeVox |
| 4 | 4 |
| 5 On Chrome OS, you can enable spoken feedback (ChromeVox) by pressing Ctrl+Alt+Z. | 5 On Chrome OS, you can enable spoken feedback (ChromeVox) by pressing Ctrl+Alt+Z. |
| 6 | 6 |
| 7 If you have a Chromebook, this gives you speech support built-in. If you're | 7 If you have a Chromebook, this gives you speech support built-in. If you're |
| 8 building Chrome from source and running it on desktop Linux, speech and braille | 8 building Chrome from source and running it on desktop Linux, speech and braille |
| 9 won't be included by default. Here's how to enable it. | 9 won't be included by default. Here's how to enable it. |
| 10 | 10 |
| 11 ## Compiling the Chrome OS version of Chrome | 11 ## Compiling the Chrome OS version of Chrome |
| 12 | 12 |
| 13 First follow the public instructions for | 13 First follow the public instructions for |
| 14 [Chrome checkout and build](https://www.chromium.org/developers/how-tos/get-the- code). | 14 [Chrome checkout and build](https://www.chromium.org/developers/how-tos/get-the- code). |
| 15 | 15 |
| 16 Create a GN configuration with "chromeos" as the target OS, for example: | 16 Create a GN configuration with "chromeos" as the target OS, for example: |
| 17 | 17 |
| 18 ```> gn args out/ChromeOSRelease``` | 18 ``` |
|
Dan Beam
2017/02/28 22:09:35
cros in the rest of the file, also ">" is only use
| |
| 19 gn args out/cros | |
| 20 ``` | |
| 19 | 21 |
| 20 ...in editor, add this line: | 22 ...in editor, add this line: |
| 21 | 23 |
| 22 ``` | 24 ``` |
| 23 target_os = "chromeos" | 25 target_os = "chromeos" |
| 24 is_component_build = true | 26 is_component_build = true |
| 25 is_debug = false | 27 is_debug = false |
| 26 ``` | 28 ``` |
| 27 | 29 |
| 28 Note: Only ```target_os = "chromeos"``` is required, the others are recommended | 30 Note: Only ```target_os = "chromeos"``` is required, the others are recommended |
| 29 for a good experience but you can configure Chrome however you like otherwise. | 31 for a good experience but you can configure Chrome however you like otherwise. |
| 30 Note that Native Client is required, so do not put enable_nacl = false in | 32 Note that Native Client is required, so do not put `enable_nacl = false` in |
| 31 your file anywhere! | 33 your file anywhere! |
| 32 | 34 |
| 33 Now build Chrome as usual, e.g.: | 35 Now build Chrome as usual, e.g.: |
| 34 | 36 |
| 35 ```ninja -C out/cros chrome``` | 37 ``` |
|
Dan Beam
2017/02/28 22:09:35
the markdown renderer seems to like multi-line ```
| |
| 38 ninja -C out/cros chrome | |
| 39 ``` | |
| 36 | 40 |
| 37 And run it as usual to see a mostly-complete Chrome OS desktop inside | 41 And run it as usual to see a mostly-complete Chrome OS desktop inside |
| 38 of a window: | 42 of a window: |
| 39 | 43 |
| 40 ```out/cros/chrome``` | 44 ``` |
| 45 out/cros/chrome | |
| 46 ``` | |
| 41 | 47 |
| 42 By default you'll be logged in as the default user. If you want to | 48 By default you'll be logged in as the default user. If you want to |
| 43 simulate the login manager too, run it like this: | 49 simulate the login manager too, run it like this: |
| 44 | 50 |
| 45 ```out/cros/chrome --login-manager``` | 51 ``` |
| 52 out/cros/chrome --login-manager | |
| 53 ``` | |
| 46 | 54 |
| 47 You can run any of the above under it’s own X session (avoiding any | 55 You can run any of the above under it’s own X session (avoiding any window |
| 48 window manager key combo conflicts) by doing something like | 56 manager key combo conflicts) by doing something like |
| 49 | 57 |
| 50 ```startx out/cros/chrome``` | 58 ``` |
| 59 startx out/cros/chrome | |
| 60 ``` | |
| 51 | 61 |
| 52 ## Speech | 62 ## Speech |
| 53 | 63 |
| 54 If you want speech, you just need to copy the speech synthesis data | 64 If you want speech, you just need to copy the speech synthesis data files to |
| 55 files to /usr/share like it would be on a Chrome OS device: | 65 /usr/share like it would be on a Chrome OS device: |
| 56 | 66 |
| 57 ``` | 67 ``` |
| 58 git clone https://chromium.googlesource.com/chromiumos/platform/assets | 68 sudo git clone https://chromium.googlesource.com/chromiumos/platform/assets /usr /share/chromeos-assets |
|
Dan Beam
2017/02/28 22:09:35
i think this is more direct
| |
| 59 sudo cp assets /usr/share/chromeos-assets | |
| 60 ``` | 69 ``` |
| 61 | 70 |
| 62 Next, move to that directory and unzip the NaCl executables. You only need | 71 Change the permissions: |
| 63 to do the one for your host architecture: | |
| 64 | 72 |
| 65 ``` | 73 ``` |
| 66 cd /usr/share/chromeos-assets/speech_synthesis/patts | 74 sudo find /usr/share/chromeos-assets -type f -exec chmod 644 {} \; |
| 67 unzip tts_service_x86-64.nexe.zip | 75 sudo find /usr/share/chromeos-assets -type d -exec chmod 755 {} \; |
|
Dan Beam
2017/02/28 22:09:35
i think this is a more bullet-proof way to do this
| |
| 68 ``` | 76 ``` |
| 69 | 77 |
| 70 Finally, fix the permissions: | 78 Next, unzip the NaCl executables. You only need to do the one for your host |
| 79 architecture: | |
| 71 | 80 |
| 72 ``` | 81 ``` |
| 73 sudo chmod oug+r -R /usr/share/chromeos-assets | 82 PATTS_DIR=/usr/share/chromeos-assets/speech_synthesis/patts |
| 83 sudo unzip $PATTS_DIR/tts_service_x86-64.nexe.zip -d $PATTS_DIR | |
| 74 ``` | 84 ``` |
| 75 | 85 |
| 76 **Be sure to check permissions of /usr/share/chromeos-assets, some | 86 **Be sure to check permissions of /usr/share/chromeos-assets, some users report |
| 77 users report they need to chmod or chown too, it really depends | 87 they need to chmod or chown too, it really depends on your system.** |
| 78 on your system.** | |
| 79 | 88 |
| 80 After you do that, just run "chrome" as above | 89 After you do that, just run "chrome" as above (e.g. out/cros/chrome) and press |
| 81 (e.g. out/cros/chrome) and press Ctrl+Alt+Z, and you should hear it | 90 Ctrl+Alt+Z, and you should hear it speak! If not, check the logs. |
| 82 speak! If not, check the logs. | |
| 83 | 91 |
| 84 ## Braille | 92 ## Braille |
| 85 | 93 |
| 86 ChromeVox uses extension APIs to deliver braille to Brltty through | 94 ChromeVox uses extension APIs to deliver braille to Brltty through libbrlapi |
| 87 libbrlapi and uses Liblouis to perform translation and | 95 and uses Liblouis to perform translation and backtranslation. |
| 88 backtranslation. | |
| 89 | 96 |
| 90 Once built, Chrome and ChromeVox will use your machine’s running | 97 Once built, Chrome and ChromeVox will use your machine’s running Brltty |
| 91 Brltty daemon to display braille if ChromeVox is running. Simply | 98 daemon to display braille if ChromeVox is running. Simply ensure you have a |
| 92 ensure you have a display connected before running Chrome and that | 99 display connected before running Chrome and that Brltty is running. |
| 93 Brltty is running. | |
| 94 | 100 |
| 95 Testing against the latest releases of Brltty (e.g. 5.4 at time of | 101 Testing against the latest releases of Brltty (e.g. 5.4 at time of writing) is |
| 96 writing) is encouraged. | 102 encouraged. |
| 97 | 103 |
| 98 For more general information, see [ChromeVox](chromevox.md) | 104 For more general information, see [ChromeVox](chromevox.md) |
| 99 | 105 |
| 100 # Using ChromeVox | 106 # Using ChromeVox |
| 101 | 107 |
| 102 ChromeVox keyboard shortcuts use Search. On Linux that's usually your | 108 ChromeVox keyboard shortcuts use Search. On Linux that's usually your Windows |
| 103 Windows key. If some shortcuts don't work, you may need to remove | 109 key. If some shortcuts don't work, you may need to remove Gnome keyboard |
| 104 Gnome keyboard shortcut bindings, or use "startx", as suggested above, | 110 shortcut bindings, or use "startx", as suggested above, or remap it. |
| 105 or remap it. | |
| 106 | 111 |
| 107 * Search+Space: Click | 112 * Search+Space: Click |
| 108 * Search+Left/Right: navigate linearly | 113 * Search+Left/Right: navigate linearly |
| 109 * Search+Period: Open ChromeVox menus | 114 * Search+Period: Open ChromeVox menus |
| 110 * Search+H: jump to next heading on page | 115 * Search+H: jump to next heading on page |
| OLD | NEW |