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 |