Acat Developers Guide 0
Acat Developers Guide 0
TOOLKIT (ACAT)
DEVELOPER’S GUIDE
VERSION 0.9
TABLE OF CONTENTS
1. INTRODUCTION ................................................................................................................................. 6
1.1 Overview........................................................................................................................................ 6
1.2 References ..................................................................................................................................... 6
1.3 Organization ................................................................................................................................. 6
1.4 Glossary of terms ........................................................................................................................ 7
1.5 ACAT Features .......................................................................................................................... 11
2. ARCHITECTURE .............................................................................................................................. 13
2.1 Introduction .............................................................................................................................. 13
2.2 The ACAT Core Library ......................................................................................................... 14
2.3 The ACAT Extension Library .............................................................................................. 21
2.4 Extensions .................................................................................................................................. 22
3. CODE STRUCTURE ......................................................................................................................... 25
3.1 Solution Layout ........................................................................................................................ 25
3.2 Coding Standards and Styles............................................................................................... 26
3.2.1 Visual Studio Add-on’s ....................................................................................................... 26
3.3 Building the framework ........................................................................................................ 27
3.4 Running the application ....................................................................................................... 27
3.5 Logging ........................................................................................................................................ 28
4. EXTENSIONS .................................................................................................................................... 29
4.1 Extension Categories ............................................................................................................. 29
4.2 Extension Folder Layout ...................................................................................................... 30
4.3 Extension Discovery............................................................................................................... 31
4.4 Extension Descriptor ............................................................................................................. 31
4.5 Extension Invoker ................................................................................................................... 31
5. ACTUATORS...................................................................................................................................... 33
5.1 Introduction .............................................................................................................................. 33
5.2 Enumeration ............................................................................................................................. 33
5.3 Actuator Configuration Files ............................................................................................... 34
5.3.1 Actuators.xml Configuration File................................................................................... 34
5.3.2 SwitchConfigMap.xml Configuration File ................................................................... 36
5.4 ACAT Actuator Extensions................................................................................................... 39
5.4.1 Keyboard Actuator .............................................................................................................. 39
5.4.2 USB HID Actuators .............................................................................................................. 39
5.4.3 Winsock Actuators .............................................................................................................. 39
5.5 Steps to create an Actuator extension ............................................................................. 41
6. AGENTS .............................................................................................................................................. 46
6.1 Introduction .............................................................................................................................. 46
6.2 Enumeration ............................................................................................................................. 46
6.2.1 Application Agents .............................................................................................................. 46
6.2.2 Functional Agents ................................................................................................................ 46
6.3 Application Agents .................................................................................................................. 46
6.4 Functional Agents ................................................................................................................... 47
6.5 Agent Configuration Files..................................................................................................... 49
7. PANELS ............................................................................................................................................... 50
7.1 Introduction .............................................................................................................................. 50
7.2 Enumeration ............................................................................................................................. 51
7.3 Panel Names .............................................................................................................................. 51
7.4 Panel Configuration File ....................................................................................................... 51
7.4.1 WidgetAttributes section.................................................................................................. 53
7.4.2 Layout section ....................................................................................................................... 54
7.4.3 Animations Section ............................................................................................................. 56
7.5 Panel Configuration Mapping (PanelConfigMap.xml)............................................... 59
7.5.1 Location of PanelConfigMap.xml ................................................................................... 61
7.6 Preferred Panel Settings ....................................................................................................... 61
8. WORD PREDICTORS...................................................................................................................... 63
8.1 Introduction .............................................................................................................................. 63
8.2 Enumeration ............................................................................................................................. 63
8.3 Steps to create a Word Predictor extension ................................................................. 63
9. TEXT-TO-SPEECH (TTS) .............................................................................................................. 66
9.1 Introduction .............................................................................................................................. 66
9.2 Enumeration ............................................................................................................................. 66
9.3 Alternate Pronunciations ..................................................................................................... 66
9.4 Steps to create a TTS Extension......................................................................................... 67
10. SPELL CHECKER ......................................................................................................................... 70
10.1Introduction .............................................................................................................................. 70
10.2Enumeration ............................................................................................................................. 70
10.3ACAT Spell Checker ................................................................................................................ 70
11. THEMES ......................................................................................................................................... 72
11.1Introduction .............................................................................................................................. 72
11.2Enumeration ............................................................................................................................. 72
11.3Theme Configuration ............................................................................................................. 72
12. SCRIPTS .......................................................................................................................................... 74
12.1Introduction .............................................................................................................................. 74
12.2Syntax .......................................................................................................................................... 74
12.3Functions .................................................................................................................................... 74
12.3.1 actuate .............................................................................................................................. 74
12.3.2 highlight ........................................................................................................................... 75
12.3.3 highlightSelected .......................................................................................................... 76
12.3.4 select ................................................................................................................................. 76
12.3.5 transition ......................................................................................................................... 77
12.3.6 stop .................................................................................................................................... 77
12.3.7 run...................................................................................................................................... 77
12.3.8 beep ................................................................................................................................... 77
12.4Macros ......................................................................................................................................... 78
13. COMMAND PROCESSING......................................................................................................... 80
13.1Introduction .............................................................................................................................. 80
13.2Command Handlers ................................................................................................................ 80
13.2.1 Panel Command Handlers ........................................................................................ 80
13.2.2 Agent Command Handlers........................................................................................ 82
13.3ACAT Commands ..................................................................................................................... 82
13.3.1 Functional Agents Activation Commands .......................................................... 82
13.3.2 Window Management Commands ........................................................................ 83
13.3.3 Talk Window Management Commands .............................................................. 84
13.3.4 Function Key Commands .......................................................................................... 84
13.3.5 Modifier Key Commands ........................................................................................... 85
13.3.6 Panel Reposition Commands ................................................................................... 86
13.3.7 Clipboard Commands ................................................................................................. 87
13.3.8 Navigation Commands ............................................................................................... 87
13.3.9 Panel Display Commands ......................................................................................... 88
13.3.10 Zoom Commands ........................................................................................................ 89
13.3.11 Mouse Commands....................................................................................................... 90
13.3.12 Document Editing Commands ............................................................................... 91
13.3.13 Miscellaneous Commands ....................................................................................... 92
14. SETTINGS ...................................................................................................................................... 93
14.1Introduction .............................................................................................................................. 93
14.2Settings ........................................................................................................................................ 93
14.2.1 Scanning Settings ......................................................................................................... 93
14.2.2 Scanner Appearance ................................................................................................... 96
14.2.3 Log Settings .................................................................................................................... 98
14.2.4 Talk Window Settings .............................................................................................. 101
14.2.5 Word Prediction Settings ........................................................................................ 103
14.2.6 Mouse Grid Scanning Settings ............................................................................... 105
14.2.7 Mouse Radar Scanning Settings ........................................................................... 106
14.2.8 Text-to-Speech Settings ........................................................................................... 108
14.2.9 Mute Screen Settings ................................................................................................ 109
14.2.10 Miscellaneous Settings ............................................................................................ 110
14.3Formatting Date and Time................................................................................................. 112
1. INTRODUCTION
1.1 Overview
ACAT is an open source platform developed by researchers at Intel Labs with the goal
to benefit people with motor neuron diseases and quadriplegia. Intel created this
platform for Prof. Stephen Hawking to replace his decade's old system. It is
developed for windows and is meant to provide access to windows applications and
capabilities through limited interfaces. It enables users to easily, accurately and
quickly communicate using keyboard simulation and text to speech capability. It also
enables users to perform common tasks such as editing, managing documents,
navigating the Web and accessing emails. The unique and highly configurable system
provides researchers with a modern standard software interface to create
customized solutions enabled by inputs such as touch, eye blinks and eyebrow
movements.
1.2 References
The ACAT User Guide meant for end-users which has details on the ACAT
Application.
1.3 Organization
This document is organized as follows.
Chapter 1 Introduction to ACAT, glossary of terms.
Chapter 2 Architecture. A high-level description of the building blocks of ACAT
Chapter 3 Code Structure. Coding standards, style, building the toolkit.
Chapter 4 Extensions. The plug-in’s for ACAT. Enumeration and invocation
Chapter 5 Actuators. Enumeration, configuration and development of Actuator
extensions.
Chapter 6 Agents. Enumeration, configuration and development of Application
and Functional Agents.
Chapter 7 Panels. Enumeration, configuration and development of Scanners,
Dialogs and Menu extensions.
Chapter 8 Word Predictors. Enumeration, configuration and development of
word predictor extensions.
Chapter 9 Text-to-Speech (TTS). Enumeration, configuration and development
of TTS extensions.
Term Description
Scanner
Dialog
Menu
Contextual Menu
Scanning
Configuration Configuration files are XML files that are used to customize
File ACAT.
Component Description
Figure 4 shows the Talk window and the Alphabet scanner. The user types text into
the Talk window and then converts it to speech.
Component Description
Component Description
Actuators are input switch triggers to drive ACAT. When triggered, they translated an
action on the ACAT UI such as selecting a widget. ACAT supports a number of input
switch mechanisms such as a camera using facial gestures as a switch, a keyboard or
off-the-shelf assistive switches.
Component Description
The following table describes the remaining components in the ACAT Core Library.
Component Description
Component Description
2.4 Extensions
Extensions are DLL’s or plug-in’s dynamically discovered and loaded at runtime.
They provide services such as Text-to-Speech, Word Prediction etc. Figure 8 shows
the six categories of Extensions.
Chapter 4 provides an introduction to Extensions.
[DescriptorAttribute("0B183771-C3E7-4ED2-9886-741526343140",
"Internet Explorer Agent",
"Application Agent for Internet Explorer")]
internal class InternetExplorerAgent : InternetExplorerAgentBase
{
…
}
Step What to do
6
String value = fooBarObject.GetInvoker().GetStringValue("FooString");
5.2 Enumeration
All Actuator extension DLL’s must be installed under the Actuators root folder which
is [INSTALLDIR]\Extensions\[EXTENSION_DIR]\Actuators. Under this, each
actuator DLL should reside in its own sub-folder. For instance, the ACAT vision
actuator is installed under
C:\Intel\ACAT\Extensions\Default\Actuators\CameraActuator. During initialization,
<Actuator>
Attribute Type Description
<Switch>
Attribute Type Description
The file contains a list of <SwitchMap> elements. Each <SwitchMap> element has a
list of Actuators to be included in the mapping. For each <SwitchEleemnt>, the
onTrigger attribute specifies the command to execute when the switch is triggred.
The attributes for the <SwitchMap> element are listed below.
<SwitchMap>
Attribute Type Description
<Actuator>
Attribute Type Description
Field Value
Step What to do
1 Edit Actuators.xml.
Step What to do
1 Edit SwitchConfigMap.xml.
Step What to do
Go to the Properties for this project and set the “Platform target” to “Any
2
CPU”.
Some switches trigger two events – one when the switch is activated and
the other when the switch is released (or deactivated). This is akin to
the keyboard KeyDown and Keyup events. In this case, instead of calling
OnSwitchTriggered, call OnSwitchActivated() when the switch is down
12 and and OnSwitchDeactivated() when the switch is released. The
actuator manager will analyze both the events and determine the time
elapsed between the down and the up. If the time elapsed is less than
the AcceptTime (the AcceptTime attribute in SwitchConfigMap.xml), the
switch event will be ignored. This takes care of false positives.
a. Edit $\deploy.bat.
b. Look for the section “Deploying Actuator DLLs” and add the
14
following lines there:
set SOURCEDIR=Extensions\Default\Actuators\FooActuator
set TARGETDIR=%INSTALLDIR%\%SOURCEDIR%
if not exist %TARGETDIR% mkdir %TARGETDIR%
copy .\%SOURCEDIR%\bin\%CONFIG%\FooActuator.dll %TARGETDIR%
Build the solution. Examine the output folder of ACATApp and verify
15 that FooActuator.dll file is deployed to
Extensions\Default\Actuators\FooActuator
Run the application and verify that the switch events are being handled
16
properly.
6.2 Enumeration
Functional Agents are activated by calling ActivateAgent() in the Agent Manager. The
name of the agent is passed as the parameter. The names of Functional Agents are
specified in the DescriptorAttribute custom attribute (see section 4.4). If there are
multiple Functional agents with the same name, the preferred agent can be specified
though a configuration file (see section 6.5)
ACAT has the following Functional Agents:
Volume Settings Agent Enables the user to set the volume level
of text-to-speech
<ACAT>
<PreferredAgents>
<PreferredAgent agentId="EC2EA972-934B-4EE0-A909-3EA0140AC738"/>
<PreferredAgent agentId="E9B930AD-CB35-478C-BDA6-D7FC43349019"/>
</PreferredAgents>
</ACAT>
Listing 4: PreferredAgents.xml
This file lists the GUID’s of the agents to use in case of a conflict. Each agent C# class
has a GUID associated through the DescriptorAttribute custom attribute (see
section 4.4).
7.2 Enumeration
All panels are .NET Forms, and must implement the IPanel interface. All DLL’s with
panel forms must be installed under the top-level folder
[INSTALLDIR]\Extensions\[EXTENSION_DIR]\UI. The recommended directory
structure is to have Scanners, Dialogs and Menus DLL’s with their associated panel
configuration files in their own sub-folders under the top-level folder. On startup,
the Panel Manager recursively descends into the top level UI folder, caches the .NET
class Types of all the classes that implement IPanel and the names of the all
configuration files. In addition to the UI folder, the Panel Manager also walks through
the top level folder for Agents (see section 6.2) as Agent DLL’s can also have Panels.
For instance, the File Browser Agent DLL has a panel that displays the names of files.
Requests to display panels may come from any extension. The request will contain
the name of the scanner to display. For instance, when the foreground window is an
edit control, a request will come in to display the AlphabetScanner.
<Layout>
<Widget class="RowWidget" name="Row1">
<Widget class="ScannerButton" name="B1"/>
<Widget class="ScannerButton" name="B2"/>
...
...
<Widget class="ScannerButton" name="B7"/>
</Widget>
LAYOUT SECTION
<Widget class="RowWidget" name="Row2">
<Widget class="ScannerButton" name="B8"/>
<Widget class="ScannerButton" name="B9"/>
...
...
<Widget class="ScannerButton" name="B14"/>
</Widget>
</Layout>
<Animation name="ButtonRotationRow1"
iterations="@ColumnScanIterations"
onEnd="transition(TopLevelRotation)"
hesitateTime="@HesitateTime"
onSelect="actuate(@SelectedWidget);
transition(TopLevelRotation);">
<Widget name="B1"/>
<Widget name="B2"/>
ANIMATIONS SECTION
...
...
<Widget name="B7"/>
</Animation>
<Animation name="ButtonRotationRow2"
iterations="@ColumnScanIterations"
onEnd="transition(TopLevelRotation)"
hesitateTime="@HesitateTime"
onSelect="actuate(@SelectedWidget);
transition(TopLevelRotation);">
<Widget name="B8"/>
<Widget name="B9"/>
...
...
<Widget name="B14"/>
</Animation>
</Animations>
<ACAT>
Attribute Description
mouseClickActuate Allow the user to click on the widget with the mouse to
actuate the button. Set this to “true” to allow activation
with a mouse click, “false” otherwise.
ACAT could have derived the hierarchical relationship by querying the controls in the
Form itself. But this would not give the flexibility of grouping controls in ways other
how they are defined in the form. The Layout section enables us to group elements
from different parents into a group.
The Layout section is a list of <Widget> nodes, each of which could have a list of
<Widget> nodes and so on. The attributes of a Widget node are listed in the table
below.
Attribute Description
Attribute Description
onSelect The script to execute when the user selects a widget for
activation. This script executes only if the Widget node
in this sequence does not have an onSelect attribute.
The Animation element has a list of Widget elements which point to the UI controls
on the Form that will participate in the scanning sequence. The attributes for the
Widget element are:
Attribute Description
Attribute Description
<ACAT>
<PanelConfigs name="MenusWithText" description="Contextual Menus with text">
<PanelConfig panelClass="NotepadContextMenu"
configName="ConfigNotepadContextMenu"/>
<PanelConfig panelClass="MSWordContextMenu"
configName="ConfigMSWordContextMenu"/>
<PanelConfig panelClass="WordPadContextMenu"
configName="ConfigWordPadContextMenu"/>
...
8.2 Enumeration
All Word Predictor (WP) extension DLL’s must be installed under the top-level folder
[INSTALLDIR]\Extensions\[EXTENSION_DIR]\WordPredictors. Under this, each
WP extension DLL should reside in its own sub-folder. For instance, the extension for
the Presage Word Predictor is installed under
C:\Intel\ACAT\Extensions\Default\WordPredictors\Presage. During initialization,
the Word Prediction Manager recursively walks through the WordPredictors folder,
loads all the DLL’s in there and caches C# Types of classes derived from the
IWordPredictor interface. All WP extensions must implement this interface.
Only one Word Predictor can be active at any time. The ACAT preference setting
PreferredWordPredictor should be set to the name or GUID of the Word Predictor
to use. The name or GUID should be the same as the one specified in the
DescriptorAttribute custom attribute (see section 4.4) associated with the C# class
of the Word Prediction extension.
Step What to do
Go to the Properties for this project and set the “Platform target” to
2
“Any CPU”.
Now build the solution. Examine the output folder of ACATApp and
9 verify that FooWordPredictor.dll file is deployed to
Extensions\Default\WordPredictors\FooWordPredictor
Run the ACATApp application and type into the Talk window or into a
10 Notepad window. The Alphabet scanner should update the prediction
word list as you type or move the cursor around.
9.2 Enumeration
All Text-to-speech extension DLL’s must be installed under the top-level folder
[INSTALLDIR]\Extensions\[EXTENSION_DIR]\TTSEngines. Under this, each
Text-to-speech extension DLL should reside in its own sub-folder. For instance, ACAT
has a TTS extension based on the Microsoft Speech Synthesizer is installed under
C:\Intel\ACAT\Extensions\Default\TTSEngines\SAPIEngine. During initialization,
the TTS Manager walks recursively through the TTSEngines folder, loads all the DLL’s
in there and caches C# Types of classes derived from the ITTSEngine interface.
Only one TTS Extension can be active at any time. In Settings.xml (see section 14.2.8)
PreferredTTSEngines should be set to the name of the TTS extension to use. The
name should be the same as the one specified in the DescriptorAttribute custom
attribute (see section 4.4) associated with the C# class of the TTS extension.
Step What to do
Go to the Properties for this project and set the “Platform target” to
2
“Any CPU”.
Now build the solution. Examine the output folder of ACATApp and
9 verify that FooTTS.dll file is deployed to
Extensions\Default\TTSEngines\FooTTS
Run the ACATApp application and type into the Talk window and press
10
ENTER. FooTTS should convert the text just entered into speech.
10.2 Enumeration
All Spell check extension DLL’s must be installed under the top-level folder
[INSTALLDIR]\Extensions\[EXTENSION_DIR]\SpellCheckers. Under this, each
Spell check extension DLL should reside in its own sub-folder. For instance, ACAT has
a rudimentary spell check extension based on a look-up table. It is installed under
C:\Intel\ACAT\Extensions\Default\SpellCheckers\SpellCheck. During initialization,
the Spell Check Manager recursively walks through the SpellCheckers folder, loads all
the DLL’s in there and caches C# Types of classes derived from the ISpellCheck
interface.
Only one Spell Checker can be active at any time. The ACAT preference setting
PreferredSpellChecker should be set to the name of the Spell Check extension to
use. The name should be the same as the one specified in the DescriptorAttribute
custom attribute (see section 4.4) associated with the C# class of the Spell Check
extension.
11.2 Enumeration
All Theme files are stored under the top-level folder [INSTALLDIR]\Assets\Skins.
Under this, each Theme is stored in a separate sub-folder. The name of the Theme is
the same as the name of the folder. A Skin.xml file lists all the colors to use for the
various elements in the panels. If background bitmaps are used, the bitmaps are
stored under the theme folder as well.
Attribute Description
<ACAT>
<Skin>
<ColorSchemes>
<ColorScheme name="Scanner"
background="Black"
foreground="#FFF200"
highlightSelectedBackground="Blue"
highlightSelectedForeground="White"
highlightBackground="#FFF200"
highlightForeground="Black"/>
<ColorScheme name="ContextMenuIconButton"
background="#21409A"
backgroundImage="contextIconNormal.png"
foreground="#FFF200"
highlightSelectedBackground="Black"
highlightSelectedForeground="White"
highlightBackground="#FFF200"
highlightBackgroundImage="contextIconHighlight.png"
highlightSelectedBackgroundImage="contextIconHighlightSelected.png"
highlightForeground="Black"/>
</ColorSchemes>
</Skin>
</ACAT>
12.2 Syntax
The syntax is simple. The script is a semi-colon delimited list of function calls. Here
is a snippet from the <Animations> section of a Panel configuration file.
<Widget name="B2
onSelect="actuate(@SelectedWidget);transition(TopLevelRotation)"/>
The onSelect attribute has a script that is executed when the widget B2 is selected.
The script makes two function calls – actuate() and transition(). The call to actuate()
has one argument – @SelectedWidget which is an macro for the selected widget.
This call triggers the Actuate event in ACAT for widget B2. The transition() call
switches the scanning sequence to the one named TopLevelRotation. Functions do
not have any return values. All arguments are passed by value.
12.3 Functions
This section describes the syntax and usages of all the pre-defined functions
supported by ACAT.
12.3.1 actuate
Syntax actuate(widgetNameOrMacro)
Parameters widgetNameOrAlias
Name or alias of the widget to actuate
Description Actuates the widget identified by the specified name or alias. Any
command associated with the widget is executed. The command is
specified in the WidgetAttribute section (see section 0) of the Panel
configuration file.
Use the @SelectedWidget macro (see section 12.4) as the alias for
the widget that is currently selected.
12.3.2 highlight
12.3.4 select
Syntax select(widgetName)
Parameters widgetName
Name of the widget to select
Description Marks the specified widget as selected. Note that there is no change
in the visual appearance of the widget. It merely sets the state of the
widget as selected. After making this call, the @SelectedWidget
macro will point to the widget selected.
Examples To select a widget identified by the name B1:
select(B1)
Syntax transition(animationName)
Parameters animationName
Name of the animation to transition to
Description Transitions the scanning sequence to the specified animationName.
The name should be a valid animation sequence in the <Animations>
section of the Panel configuration file (see section 7.4.3).
Examples To transition to a scanning sequence called TopLevelRotation:
transition(topLevelRotation)
12.3.6 stop
Syntax stop()
Description Stops scanning that is currently in progress.
Examples To stop scanning:
stop()
12.3.7 run
Syntax run(command)
Parameters command
Name of the command to run.
Description Runs the specified command. For a list of commands and command
handling, see Chapter 13.
Examples To toggle the TalkWindow:
run(@CmdTalkWindowToggle)
12.3.8 beep
Syntax beep()
Description Plays a beep.
12.4 Macros
The following table lists the macros that can be used as values for the various timings
and iteration counts during scanning. These macros can be used in the panel
configuration files (see section 7.4) to control the speed, the number of scan
iterations and to reference selected widgets.
The values for each of the macros listed below are assigned from the user preference
settings (see section 14.2.1).
Macro Description
ACAT invokes the Execute method in the returned object to execute a command.
13.2.1.1 DefaultCommandDispatcher
The DefaultCommandDispatcher class in the ACAT Extension library handles most
of the commands. See section 13.3 for a list of commands supported by this class. If
the Panel uses commands from the default list, it can return a
DefaultCommandDispatcher object as the return value of the
CommandDispatcher property.
13.2.1.2 Custom Commands
The following table lists steps to handle commands that are not in the default
command list (see section 13.3) or to override handling of the default commands.
switch (Command)
{
case "CmdFooBar1":
2 // Add code to handle this command
break;
case "CmdFooBar2":
// Add code to handle this command
break;
default:
handled = false;
break;
}
return true;
}
Define a class in the Panel class, say, Dispatcher. Derive this class
3
from DefaultCommandDispatcher.
7 switch (Command)
{
case "CmdTalkWindowToggle":
// Add code to handle this command
break;
default:
retVal = base.Execute(ref handled);
break;
}
return retVal;
}
Command Description
Command Description
F1 The F1 key.
F2 The F2 key.
F3 The F3 key.
F4 The F4 key.
F5 The F5 key.
F6 The F6 key.
F7 The F7 key.
F8 The F8 key.
F9 The F9 key.
Command Description
Command Description
Command Description
Command Description
Command Description
Command Description
CmdZoomIn Zooms-in.
CmdZoomOut Zooms-out.
Command Description
Command Description
Command Description
14.1 Introduction
ACAT user preferences are stored in a file called Settings.xml which is located in the
ACAT User folder [INSTALLDIR]\Users\[USERNAME]\Profiles\[PROFILENAME].
The name of the default user is “Default” and the default profile is also “Default”. For
the default user/profile, the settings file is located under
[INSTALLDIR]\Users\Default\Profiles\Default.
There are a number of settings to control the behavior of ACAT. Some of these
settings can be modified through the ACAT GUI (refer to the ACAT User Guide).
Others have to be modified by editing Settings.xml in a text editor. Settings.xml is
created by serializing the Settings class in ACAT.
14.2 Settings
The remainder of this section lists all the ACAT settings. The ACATPreferences class
in the ACAT Extension Library holds all these settings. The class marked as
Serializable and the settings are serialized and de-serialized to Settings.xml.
The settings listed here are grouped by functionality.
Setting Description
Type: Integer
Units: Milliseconds
Default: 1000
Type: Integer
Units: Milliseconds
Default: 250
Type: Integer
Units: Milliseconds
Default: 1000
Type: Integer
Units: Milliseconds
Default: 50
Type: Integer
Default: 4
Type: Integer
Default: 1
Type: String
Values: true, false
Default: false
Setting Description
Type: String
Default: Arial
Type: Integer
Default: 18
Type: Float
Default: 10.0
Type: String
Values: true, false
Default: true
Type: String
Values: true, false
Default: false
Type: Integer
Default: 5000
Type: String
Values: true, false
Default: false
Type: String
Values: true, false
Default: false
Type: String
Values: true, false
Default: false
Type: String
Default: *
Setting Description
If TalkWindowDisplayDateTimeEnable is set
to true, this setting controls the format of the
TalkWindowDisplayDateFo date field in the date/time stamp. See section
rmat 14.3 for details on the format string.
Type: String
Default: ddd, MMM d, yyyy
If TalkWindowDisplayDateTimeEnable is set
to true, this setting controls the format of the
TalkWindowDisplayTimeFo time field in the date/time stamp. See section
rmat 14.3 for details on the format string.
Type: String
Default: h:mm tt
Type: Float
Values: 0.0 to 1.0
Default: 0.8
Setting Description
Type: String
Default: Presage Word Predictor
Type: String
Values: true, false
Default: false
Type: String
Values: true, false
Default: true
Type: Integer
Default: 4
WordPredictionFilterMat
chPrefix
WordPredictionFilterMat
chPrefixLengthAdjust
Setting Description
Type: Integer
Default: 14
Type: Integer
Default: 6
Setting Description
Type: Integer
Default: 4
Type: Integer
Default: 12
Setting Description
Type: String
Default: SAPI TTS Engine
Type: String
Values: true, false
Default: true
Setting Description
Type: Integer
Default: -1
Type: Integer
Default: 9
Type: Integer
Default: 1
Type: String
Values: true, false
Default: false
Type: String
Default: Default
Type: String
Values: true, false
Default: true
Type: String
Values: true, false
Default: true