blob: 3dc128588d6347f5b7fb818f2d5f292e0aa9c3fd [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
83sudo unzip $PATTS_DIR/tts_service_x86-64.nexe.zip -d $PATTS_DIR
dmazzoni2f489752017-02-16 03:39:1684```
85
dbeam9e590b22017-03-02 07:11:2086**Be sure to check permissions of /usr/share/chromeos-assets, some users report
87they need to chmod or chown too, it really depends on your system.**
dmazzoni2f489752017-02-16 03:39:1688
dbeam9e590b22017-03-02 07:11:2089After you do that, just run "chrome" as above (e.g. out/cros/chrome) and press
90Ctrl+Alt+Z, and you should hear it speak! If not, check the logs.
dmazzoni2f489752017-02-16 03:39:1691
92## Braille
93
dbeam9e590b22017-03-02 07:11:2094ChromeVox uses extension APIs to deliver braille to Brltty through libbrlapi
95and uses Liblouis to perform translation and backtranslation.
dmazzoni2f489752017-02-16 03:39:1696
dbeam9e590b22017-03-02 07:11:2097Once built, Chrome and ChromeVox will use your machines running Brltty
98daemon to display braille if ChromeVox is running. Simply ensure you have a
99display connected before running Chrome and that Brltty is running.
dmazzoni2f489752017-02-16 03:39:16100
dbeam9e590b22017-03-02 07:11:20101Testing against the latest releases of Brltty (e.g. 5.4 at time of writing) is
102encouraged.
dmazzoni2f489752017-02-16 03:39:16103
104For more general information, see [ChromeVox](chromevox.md)
105
106# Using ChromeVox
107
dbeam9e590b22017-03-02 07:11:20108ChromeVox keyboard shortcuts use Search. On Linux that's usually your Windows
109key. If some shortcuts don't work, you may need to remove Gnome keyboard
110shortcut bindings, or use "startx", as suggested above, or remap it.
dmazzoni2f489752017-02-16 03:39:16111
112* Search+Space: Click
113* Search+Left/Right: navigate linearly
114* Search+Period: Open ChromeVox menus
115* Search+H: jump to next heading on page