blob: 70c73c4edaa2900f880532cc97a57bfb355e37c7 [file] [log] [blame] [view]
dmazzoni2f489752017-02-16 03:39:161# ChromeVox on Desktop Linux
2
3## Starting ChromeVox
4
5On Chrome OS, you can enable spoken feedback (ChromeVox) by pressing Ctrl+Alt+Z.
6
7If you have a Chromebook, this gives you speech support built-in. If you're
8building Chrome from source and running it on desktop Linux, speech and braille
9won't be included by default. Here's how to enable it.
10
11## Compiling the Chrome OS version of Chrome
12
13First follow the public instructions for
14[Chrome checkout and build](https://www.chromium.org/developers/how-tos/get-the-code).
15
16Create a GN configuration with "chromeos" as the target OS, for example:
17
dbeam9e590b22017-03-02 07:11:2018```
19gn args out/cros
20```
dmazzoni2f489752017-02-16 03:39:1621
22...in editor, add this line:
23
24```
25target_os = "chromeos"
26is_component_build = true
27is_debug = false
28```
29
30Note: Only ```target_os = "chromeos"``` is required, the others are recommended
31for a good experience but you can configure Chrome however you like otherwise.
dbeam9e590b22017-03-02 07:11:2032Note that Native Client is required, so do not put `enable_nacl = false` in
dmazzoni2f489752017-02-16 03:39:1633your file anywhere!
34
35Now build Chrome as usual, e.g.:
36
dbeam9e590b22017-03-02 07:11:2037```
38ninja -C out/cros chrome
39```
dmazzoni2f489752017-02-16 03:39:1640
41And run it as usual to see a mostly-complete Chrome OS desktop inside
42of a window:
43
dbeam9e590b22017-03-02 07:11:2044```
45out/cros/chrome
46```
dmazzoni2f489752017-02-16 03:39:1647
48By default you'll be logged in as the default user. If you want to
49simulate the login manager too, run it like this:
50
dbeam9e590b22017-03-02 07:11:2051```
52out/cros/chrome --login-manager
53```
dmazzoni2f489752017-02-16 03:39:1654
dbeam9e590b22017-03-02 07:11:2055You can run any of the above under its own X session (avoiding any window
56manager key combo conflicts) by doing something like
dmazzoni2f489752017-02-16 03:39:1657
dbeam9e590b22017-03-02 07:11:2058```
59startx out/cros/chrome
60```
dmazzoni2f489752017-02-16 03:39:1661
62## Speech
63
dbeam9e590b22017-03-02 07:11:2064If you want speech, you just need to copy the speech synthesis data files to
65/usr/share like it would be on a Chrome OS device:
dmazzoni2f489752017-02-16 03:39:1666
67```
dbeam9e590b22017-03-02 07:11:2068sudo git clone https://chromium.googlesource.com/chromiumos/platform/assets /usr/share/chromeos-assets
dmazzoni2f489752017-02-16 03:39:1669```
70
dbeam9e590b22017-03-02 07:11:2071Change the permissions:
dmazzoni2f489752017-02-16 03:39:1672
73```
dbeam9e590b22017-03-02 07:11:2074sudo find /usr/share/chromeos-assets -type f -exec chmod 644 {} \;
75sudo find /usr/share/chromeos-assets -type d -exec chmod 755 {} \;
dmazzoni2f489752017-02-16 03:39:1676```
77
dbeam9e590b22017-03-02 07:11:2078Next, unzip the NaCl executables. You only need to do the one for your host
79architecture:
dmazzoni2f489752017-02-16 03:39:1680
81```
dbeam9e590b22017-03-02 07:11:2082PATTS_DIR=/usr/share/chromeos-assets/speech_synthesis/patts
Katie D11cc61c2018-01-19 17:57:4583sudo unzip $PATTS_DIR/tts_service_x86_64.nexe.zip -d $PATTS_DIR
dmazzoni2f489752017-02-16 03:39:1684```
85
Katie Dektar8ea0d422017-09-18 19:45:1786You may need to update permissions for the unzipped files within within
87speech_synthesis/patts:
88
89```
90sudo find $PATTS_DIR -type f -exec chmod 755 {} \;
91```
92
dbeam9e590b22017-03-02 07:11:2093**Be sure to check permissions of /usr/share/chromeos-assets, some users report
94they need to chmod or chown too, it really depends on your system.**
dmazzoni2f489752017-02-16 03:39:1695
dbeam9e590b22017-03-02 07:11:2096After you do that, just run "chrome" as above (e.g. out/cros/chrome) and press
97Ctrl+Alt+Z, and you should hear it speak! If not, check the logs.
dmazzoni2f489752017-02-16 03:39:1698
99## Braille
100
dbeam9e590b22017-03-02 07:11:20101ChromeVox uses extension APIs to deliver braille to Brltty through libbrlapi
102and uses Liblouis to perform translation and backtranslation.
dmazzoni2f489752017-02-16 03:39:16103
dbeam9e590b22017-03-02 07:11:20104Once built, Chrome and ChromeVox will use your machines running Brltty
105daemon to display braille if ChromeVox is running. Simply ensure you have a
106display connected before running Chrome and that Brltty is running.
dmazzoni2f489752017-02-16 03:39:16107
dbeam9e590b22017-03-02 07:11:20108Testing against the latest releases of Brltty (e.g. 5.4 at time of writing) is
109encouraged.
dmazzoni2f489752017-02-16 03:39:16110
111For more general information, see [ChromeVox](chromevox.md)
112
113# Using ChromeVox
114
dbeam9e590b22017-03-02 07:11:20115ChromeVox keyboard shortcuts use Search. On Linux that's usually your Windows
116key. If some shortcuts don't work, you may need to remove Gnome keyboard
117shortcut bindings, or use "startx", as suggested above, or remap it.
dmazzoni2f489752017-02-16 03:39:16118
119* Search+Space: Click
120* Search+Left/Right: navigate linearly
121* Search+Period: Open ChromeVox menus
122* Search+H: jump to next heading on page