Skip to content

Commit 625e148

Browse files
committed
Version 0.98
1 parent 6ac7511 commit 625e148

File tree

829 files changed

+184882
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

829 files changed

+184882
-3
lines changed

INSTRUCTIONS.pdf

3.61 KB
Binary file not shown.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## ACAT Release v0.97.9.1 binaries now available [here] (https://github.com/01org/acat/releases)
2-
### Source will be released soon.
1+
## ACAT Release v0.98 binaries now available [here] (https://github.com/01org/acat/releases)
2+
33

44
##Introduction
55
Assistive Context-Aware Toolkit (ACAT) is an open source platform developed at Intel Labs to enable people with motor neuron diseases and other disabilities to have full access to the capabilities and applications of their computers through very constrained interfaces suitable for their condition. More specifically, ACAT enables users to easily communicate with others through keyboard simulation, word prediction and speech synthesis. Users can perform a range of tasks such as editing, managing documents, navigating the Web and accessing emails.
@@ -8,7 +8,7 @@ ACAT was originally developed by researchers at Intel Labs for Professor Stephen
88

99
Our hope is that, by open sourcing this configurable platform, developers will continue to expand on this system by adding new user interfaces, new sensing modalities, word prediction and many other features. ACAT is designed to run on Microsoft Windows* machines and can interface to different sensor inputs such as infrared switches, camera, push buttons, and more.
1010

11-
Intel has developed ACAT "from scratch". It is written in C# using Microsoft Visual Studio 2012 and .NET 4.5 and runs on Microsoft Windows 7 or later. Word prediction functionality is powered by [Presage](http://presage.sourceforge.net/), an intelligent predictive text engine created by Matteo Vescovi.
11+
ACAT is written in C# using Microsoft Visual Studio 2012 and .NET 4.5 and runs on Microsoft Windows 7 or later. Word prediction functionality is powered by [Presage](http://presage.sourceforge.net/), an intelligent predictive text engine created by Matteo Vescovi.
1212

1313
##Project Website
1414
Click [here](http://01.org/acat) for the ACAT project website.

src/ACAT.sln

Lines changed: 884 additions & 0 deletions
Large diffs are not rendered by default.

src/Applications/ACATApp/ACAT.ico

7.49 KB
Binary file not shown.
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
6+
<ProductVersion>8.0.30703</ProductVersion>
7+
<SchemaVersion>2.0</SchemaVersion>
8+
<ProjectGuid>{06DE8A17-5D58-4858-BF18-86F7DB74E539}</ProjectGuid>
9+
<OutputType>WinExe</OutputType>
10+
<AppDesignerFolder>Properties</AppDesignerFolder>
11+
<RootNamespace>ACATApp</RootNamespace>
12+
<AssemblyName>ACATApp</AssemblyName>
13+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
14+
<TargetFrameworkProfile>
15+
</TargetFrameworkProfile>
16+
<FileAlignment>512</FileAlignment>
17+
<IsWebBootstrapper>false</IsWebBootstrapper>
18+
<SccProjectName>
19+
</SccProjectName>
20+
<SccLocalPath>
21+
</SccLocalPath>
22+
<SccAuxPath>
23+
</SccAuxPath>
24+
<SccProvider>
25+
</SccProvider>
26+
<PublishUrl>publish\</PublishUrl>
27+
<Install>true</Install>
28+
<InstallFrom>Disk</InstallFrom>
29+
<UpdateEnabled>false</UpdateEnabled>
30+
<UpdateMode>Foreground</UpdateMode>
31+
<UpdateInterval>7</UpdateInterval>
32+
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
33+
<UpdatePeriodically>false</UpdatePeriodically>
34+
<UpdateRequired>false</UpdateRequired>
35+
<MapFileExtensions>true</MapFileExtensions>
36+
<ApplicationRevision>0</ApplicationRevision>
37+
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
38+
<UseApplicationTrust>false</UseApplicationTrust>
39+
<BootstrapperEnabled>true</BootstrapperEnabled>
40+
</PropertyGroup>
41+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
42+
<PlatformTarget>x86</PlatformTarget>
43+
<DebugSymbols>true</DebugSymbols>
44+
<DebugType>full</DebugType>
45+
<Optimize>false</Optimize>
46+
<OutputPath>bin\Debug\</OutputPath>
47+
<DefineConstants>DEBUG;TRACE</DefineConstants>
48+
<ErrorReport>prompt</ErrorReport>
49+
<WarningLevel>4</WarningLevel>
50+
<UseVSHostingProcess>false</UseVSHostingProcess>
51+
<Prefer32Bit>false</Prefer32Bit>
52+
</PropertyGroup>
53+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
54+
<PlatformTarget>x86</PlatformTarget>
55+
<DebugType>pdbonly</DebugType>
56+
<Optimize>true</Optimize>
57+
<OutputPath>bin\Release\</OutputPath>
58+
<DefineConstants>TRACE</DefineConstants>
59+
<ErrorReport>prompt</ErrorReport>
60+
<WarningLevel>4</WarningLevel>
61+
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
62+
<Prefer32Bit>false</Prefer32Bit>
63+
</PropertyGroup>
64+
<PropertyGroup>
65+
<ApplicationIcon>Properties\ACAT.ico</ApplicationIcon>
66+
</PropertyGroup>
67+
<PropertyGroup>
68+
<RunPostBuildEvent>Always</RunPostBuildEvent>
69+
</PropertyGroup>
70+
<ItemGroup>
71+
<Reference Include="ACATCore">
72+
<HintPath>..\..\Redistributable\ACATCore.dll</HintPath>
73+
</Reference>
74+
<Reference Include="ACATExtension">
75+
<HintPath>..\..\Redistributable\ACATExtension.dll</HintPath>
76+
</Reference>
77+
<Reference Include="System" />
78+
<Reference Include="System.Configuration" />
79+
<Reference Include="System.Core" />
80+
<Reference Include="System.Runtime.Serialization" />
81+
<Reference Include="System.ServiceModel" />
82+
<Reference Include="System.Web.Extensions" />
83+
<Reference Include="System.Xml.Linq" />
84+
<Reference Include="System.Data.DataSetExtensions" />
85+
<Reference Include="System.Data" />
86+
<Reference Include="System.Deployment" />
87+
<Reference Include="System.Drawing" />
88+
<Reference Include="System.Windows.Forms" />
89+
<Reference Include="System.Xml" />
90+
</ItemGroup>
91+
<ItemGroup>
92+
<Compile Include="Program.cs" />
93+
<Compile Include="Properties\AssemblyInfo.cs" />
94+
<Compile Include="Service References\PresageService\Reference.cs">
95+
<AutoGen>True</AutoGen>
96+
<DesignTime>True</DesignTime>
97+
<DependentUpon>Reference.svcmap</DependentUpon>
98+
</Compile>
99+
<None Include="Service References\PresageService\Reference.svcmap">
100+
<Generator>WCF Proxy Generator</Generator>
101+
<LastGenOutput>Reference.cs</LastGenOutput>
102+
</None>
103+
<None Include="Service References\PresageService\configuration.svcinfo" />
104+
<None Include="Service References\PresageService\configuration91.svcinfo" />
105+
<EmbeddedResource Include="Properties\Resources.resx">
106+
<Generator>ResXFileCodeGenerator</Generator>
107+
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
108+
<SubType>Designer</SubType>
109+
</EmbeddedResource>
110+
<Compile Include="Properties\Resources.Designer.cs">
111+
<AutoGen>True</AutoGen>
112+
<DependentUpon>Resources.resx</DependentUpon>
113+
<DesignTime>True</DesignTime>
114+
</Compile>
115+
<None Include="app.config">
116+
<SubType>Designer</SubType>
117+
</None>
118+
<Content Include="Install\Users\ACAT\Abbreviations.xml">
119+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
120+
</Content>
121+
<Content Include="Install\Users\ACAT\Actuators.xml">
122+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
123+
</Content>
124+
<Content Include="Install\Users\ACAT\LaunchAppSettings.xml">
125+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
126+
</Content>
127+
<Content Include="Install\Users\ACAT\PreferredPanelConfig.xml">
128+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
129+
</Content>
130+
<Content Include="Install\Users\ACAT\SAPIPronunciations.xml">
131+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
132+
</Content>
133+
<Content Include="Install\Users\ACAT\SpellCheck.xml">
134+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
135+
</Content>
136+
<Content Include="Install\Users\ACAT\SwitchConfigMap.xml">
137+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
138+
</Content>
139+
<Content Include="CreateUser.bat">
140+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
141+
</Content>
142+
<None Include="Install\Users\ACAT\WordPredictors\Presage\database.db">
143+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
144+
</None>
145+
<None Include="Properties\Settings.settings">
146+
<Generator>SettingsSingleFileGenerator</Generator>
147+
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
148+
</None>
149+
<Compile Include="Properties\Settings.Designer.cs">
150+
<AutoGen>True</AutoGen>
151+
<DependentUpon>Settings.settings</DependentUpon>
152+
<DesignTimeSharedInput>True</DesignTimeSharedInput>
153+
</Compile>
154+
<None Include="Service References\PresageService\10.wsdl" />
155+
<None Include="Service References\PresageService\10.xsd">
156+
<SubType>Designer</SubType>
157+
</None>
158+
<None Include="Service References\PresageService\Arrays.xsd">
159+
<SubType>Designer</SubType>
160+
</None>
161+
<None Include="Service References\PresageService\service.xsd">
162+
<SubType>Designer</SubType>
163+
</None>
164+
</ItemGroup>
165+
<ItemGroup>
166+
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
167+
<Visible>False</Visible>
168+
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
169+
<Install>true</Install>
170+
</BootstrapperPackage>
171+
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
172+
<Visible>False</Visible>
173+
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
174+
<Install>false</Install>
175+
</BootstrapperPackage>
176+
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
177+
<Visible>False</Visible>
178+
<ProductName>.NET Framework 3.5 SP1</ProductName>
179+
<Install>false</Install>
180+
</BootstrapperPackage>
181+
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
182+
<Visible>False</Visible>
183+
<ProductName>Windows Installer 3.1</ProductName>
184+
<Install>true</Install>
185+
</BootstrapperPackage>
186+
</ItemGroup>
187+
<ItemGroup>
188+
<EmbeddedResource Include="Properties\ACAT.ico" />
189+
</ItemGroup>
190+
<ItemGroup>
191+
<WCFMetadata Include="Service References\" />
192+
</ItemGroup>
193+
<ItemGroup>
194+
<WCFMetadataStorage Include="Service References\PresageService\" />
195+
</ItemGroup>
196+
<ItemGroup />
197+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
198+
<PropertyGroup>
199+
<PostBuildEvent>call "$(SolutionDir)deploy.bat" ..\..\..\.. $(Configuration)</PostBuildEvent>
200+
</PropertyGroup>
201+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
202+
Other similar extension points exist, see Microsoft.Common.targets.
203+
<Target Name="BeforeBuild">
204+
</Target>
205+
<Target Name="AfterBuild">
206+
</Target>
207+
-->
208+
</Project>
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
////////////////////////////////////////////////////////////////////////////
2+
// <copyright file="ACATAppSettings.cs" company="Intel Corporation">
3+
//
4+
// Copyright (c) 2013-2015 Intel Corporation 
5+
//
6+
// Licensed under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless required by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
//
18+
// </copyright>
19+
////////////////////////////////////////////////////////////////////////////
20+
21+
using System;
22+
using System.Diagnostics.CodeAnalysis;
23+
using ACAT.Lib.Core.Utility;
24+
25+
#region SupressStyleCopWarnings
26+
27+
[module: SuppressMessage(
28+
"StyleCop.CSharp.ReadabilityRules",
29+
"SA1126:PrefixCallsCorrectly",
30+
Scope = "namespace",
31+
Justification = "Not needed. ACAT naming conventions takes care of this")]
32+
[module: SuppressMessage(
33+
"StyleCop.CSharp.ReadabilityRules",
34+
"SA1101:PrefixLocalCallsWithThis",
35+
Scope = "namespace",
36+
Justification = "Not needed. ACAT naming conventions takes care of this")]
37+
[module: SuppressMessage(
38+
"StyleCop.CSharp.ReadabilityRules",
39+
"SA1121:UseBuiltInTypeAlias",
40+
Scope = "namespace",
41+
Justification = "Since they are just aliases, it doesn't really matter")]
42+
[module: SuppressMessage(
43+
"StyleCop.CSharp.DocumentationRules",
44+
"SA1200:UsingDirectivesMustBePlacedWithinNamespace",
45+
Scope = "namespace",
46+
Justification = "ACAT guidelines")]
47+
[module: SuppressMessage(
48+
"StyleCop.CSharp.NamingRules",
49+
"SA1309:FieldNamesMustNotBeginWithUnderscore",
50+
Scope = "namespace",
51+
Justification = "ACAT guidelines. Private fields begin with an underscore")]
52+
[module: SuppressMessage(
53+
"StyleCop.CSharp.NamingRules",
54+
"SA1300:ElementMustBeginWithUpperCaseLetter",
55+
Scope = "namespace",
56+
Justification = "ACAT guidelines. Private/Protected methods begin with lowercase")]
57+
58+
#endregion SupressStyleCopWarnings
59+
60+
namespace ACAT.Applications.ACATApp
61+
{
62+
/// <summary>
63+
/// Settings for the ACAT application.
64+
/// </summary>
65+
[Serializable]
66+
public class ACATAppSettings : PreferencesBase
67+
{
68+
/// <summary>
69+
/// Name of the settings file
70+
/// </summary>
71+
[NonSerialized]
72+
public static String PreferencesFilePath;
73+
74+
public float ScannerScaleFactor = 10.0f;
75+
76+
public Windows.WindowPosition ScannerPosition = Windows.WindowPosition.MiddleRight;
77+
78+
79+
/// <summary>
80+
/// Initializes a new instance of the class.
81+
/// </summary>
82+
public ACATAppSettings()
83+
{
84+
}
85+
86+
/// <summary>
87+
/// Load settings
88+
/// </summary>
89+
/// <returns>settings object</returns>
90+
public static ACATAppSettings Load()
91+
{
92+
return PreferencesBase.Load<ACATAppSettings>(PreferencesFilePath);
93+
}
94+
95+
/// <summary>
96+
/// Save settings. No op for now
97+
/// </summary>
98+
/// <returns>true always</returns>
99+
public override bool Save()
100+
{
101+
return PreferencesBase.Save<ACATAppSettings>(this, PreferencesFilePath);
102+
}
103+
}
104+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
rem @echo off
2+
if not exist %WINDIR%\system32\xcopy.exe goto checkWow64
3+
set XCOPYEXE=%WINDIR%\system32\xcopy.exe
4+
goto next
5+
:checkWow64
6+
if not exist %WINDIR%\SYSWow64\xcopy.exe goto error
7+
set XCOPYEXE=%WINDIR%\SYSWow64\xcopy.exe
8+
goto next
9+
:error
10+
echo "*** ERROR *** Xcopy not found on your machine
11+
pause
12+
exit 2
13+
:next
14+
if %1a==a goto default
15+
set ACATUSER=%1
16+
goto create
17+
:default
18+
set ACATUSER=ACAT
19+
:create
20+
if not exist Users mkdir Users
21+
if not exist Users\%ACATUSER% mkdir Users\%ACATUSER%
22+
%XCOPYEXE% /s /i /e /y install\Users\ACAT Users\%ACATUSER%
23+
exit 0
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0"?>
2+
<ACAT>
3+
<Abbreviations>
4+
<Abbreviation word="**1" replaceWith="Yes" mode="Speak" />
5+
<Abbreviation word="**2" replaceWith="No" mode="Speak" />
6+
<Abbreviation word="**3" replaceWith="Thank you" mode="Speak" />
7+
<Abbreviation word="**4" replaceWith="Good bye" mode="Speak"/>
8+
</Abbreviations>
9+
</ACAT>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<ACAT>
3+
<Actuators>
4+
<Actuator name="Keyboard" id="D91A1877-C92B-4D7E-9AB6-F01F30B12DF9" enabled="true">
5+
<Switch name="S9" source="F12" enabled="true" beepFile="beep.wav" minHoldTime="@MinActuationHoldTime"/>
6+
<Switch name="H1" source="Ctrl+T" enabled="true"/>
7+
<Switch name="H2" source="Ctrl+Alt+M" enabled="true"/>
8+
<Switch name="H3" source="Ctrl+Alt+C" enabled="true"/>
9+
<Switch name="H4" source="Ctrl+Alt+OemComma" enabled="true"/>
10+
<Switch name="H5" source="Ctrl+Alt+OemPeriod" enabled="true"/>
11+
<Switch name="H6" source="Ctrl+Alt+OemQuestion" enabled="true"/>
12+
</Actuator>
13+
14+
<Actuator name="CameraActuator" id="A5B9BFF9-0A35-41AC-8989-69A3D60F4435" enabled="true">
15+
<Switch name="CT" source="CT" enabled="true" minHoldTime="@MinActuationHoldTime"/>
16+
<Switch name="MP" source="MP" enabled="true" minHoldTime="@MinActuationHoldTime"/>
17+
<Switch name="ER" source="ER" enabled="true" minHoldTime="@MinActuationHoldTime"/>
18+
<Switch name="EM" source="EM" enabled="true" minHoldTime="@MinActuationHoldTime"/>
19+
</Actuator>
20+
21+
<Actuator name="BlinkSwitchActuator" id="CBEF136B-66EF-40E4-BF8F-46FA2FB7D689" enabled="true">
22+
<Switch name="CT" source="CT" enabled="true" minHoldTime="@MinActuationHoldTime" actuate="true"/>
23+
</Actuator>
24+
</Actuators>
25+
</ACAT>

0 commit comments

Comments
 (0)