Skip to content

Commit 7416e7c

Browse files
committed
Added first GPL version (1.7)
0 parents  commit 7416e7c

Some content is hidden

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

59 files changed

+6947
-0
lines changed

COPYING.txt

+674
Large diffs are not rendered by default.

README.txt

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
TouchCursor Readme
2+
==================
3+
4+
Dependencies
5+
============
6+
7+
C++ Libraries
8+
-------------
9+
10+
* wxWidgets 2.8 (unicode builds)
11+
* boost 1.39 (later may also work)
12+
13+
The location of these libraries can be configured by editing
14+
touchcursor.vsprops.
15+
16+
Tools
17+
-----
18+
19+
* Microsoft Visual Studio 2008
20+
(Haven't tried VC++ Express)
21+
22+
Scripts that build the installer and docs require:
23+
24+
* InnoSetup >=v5.2.2 (http://www.jrsoftware.org/isinfo.php)
25+
* Python >=v2.4 (http://python.org)
26+
* Python markdown library (http://pypi.python.org/pypi/Markdown)
27+
* 7zip (http://www.7-zip.org/)
28+
29+
30+
Building
31+
========
32+
33+
Run build.bat to build executables and docs and package them into zip and
34+
installer files. Alternatively, load touchcursor.sln into Visual Studio and
35+
build in the IDE to build the executables only.
36+
37+
If your Visual Studio installation is not at the location used in the batch
38+
file, you'll need to edit it.
39+
40+
41+
Project Directories
42+
===================
43+
44+
touchcursor
45+
Source for touchcursor.exe, which loads the hook DLL and runs the systray
46+
menu.
47+
48+
touchcursordll
49+
Source for touchcursor.dll. This is the core of TouchCursor and contains
50+
the keyboard hook function. (Windows requires this to be in a DLL rather than
51+
an exe.)
52+
53+
tcconfig
54+
Source for tcconfig.exe, which edits the configuration file. This was
55+
implemented as separate program to keep the memory usage of the permanently
56+
running modules low.
57+
58+
touchcursor_update
59+
Source for a touchcursor_update.exe, which is optionally used to check for a
60+
new version of TouchCursor. The separate exe is partly due to paranoia about
61+
malware scanners that might be suspicious of a program that installed a
62+
keyboard hook and connected to the internet.
63+
64+
tclib
65+
Functions shared by the other projects.
66+
67+
setup
68+
Source, scripts and dependencies for building the installer.
69+
70+
docs
71+
Source for the help file. The text is in Markdown format. The html is built
72+
by a script in the setup directory.
73+
74+
75+
License & Copyright
76+
===================
77+
78+
Copyright � 2010 Martin Stone.
79+
80+
TouchCursor is free software: you can redistribute it and/or modify
81+
it under the terms of the GNU General Public License as published by
82+
the Free Software Foundation, either version 3 of the License, or
83+
(at your option) any later version.
84+
85+
TouchCursor is distributed in the hope that it will be useful,
86+
but WITHOUT ANY WARRANTY; without even the implied warranty of
87+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
88+
GNU General Public License for more details.
89+
90+
You should have received a copy of the GNU General Public License
91+
along with TouchCursor (COPYING.txt). If not, see
92+
<http://www.gnu.org/licenses/>.

build.bat

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@echo off
2+
3+
echo Building exes...
4+
5+
set DEVENV="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com"
6+
%DEVENV% /build Release touchcursor.sln
7+
8+
if errorlevel 1 exit %errorlevel%
9+
10+
echo.
11+
echo Building distribution...
12+
echo.
13+
cd setup
14+
call makedist.bat
15+
cd ..

docs/help.txt

+155
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# TouchCursor Manual
2+
3+
## Getting Started
4+
5+
Press and hold the space bar (as if it were a Shift key) to activate
6+
"cursor mode" and use the home keys as cursor keys. To return to
7+
normal typing just release the space bar.
8+
9+
The default layout is shown below, but you can change this on
10+
the [General Tab][] of the configuration dialog.
11+
12+
<p class="picture"><img class="centered" src="key_layout.png" width="240" height="144" alt="default keyboard layout"></p>
13+
14+
In the default TouchCursor layout, all the navigation keys are conveniently under the right
15+
hand, leaving your left hand free to use Ctrl, Alt and Shift, as normal.
16+
17+
### Practising
18+
19+
To begin with, just run your favorite editor or word processor
20+
and try moving the cursor around to get a feel for how it works.
21+
22+
For some serious practice, you can try the online [training game][].
23+
You can also use the [training mode](#general_tab) option with your
24+
usual editor to force you into the TouchCursor habit.
25+
26+
### Fine tuning
27+
28+
A side effect of using TouchCursor is that the space bar
29+
doesn't produce a space until you release it.
30+
If this causes problems in some programs,
31+
you can list them on the [Programs Tab][] and
32+
TouchCursor will be disabled when you are working with them.
33+
34+
Another side effect is that the space bar doesn't
35+
auto-repeat. If you miss this, you can easily add a key binding,
36+
for example "S", that will emit spaces with autorepeat.
37+
38+
Alternatively, you can choose a different activation key.
39+
40+
#### Virtual Machines
41+
42+
Normally TouchCursor will work transparently with virtual machines and remote desktop software
43+
&ndash; You don't need to install it on the guest OS or the remote machine &ndash;
44+
However, some versions of VMware have an "enhanced virtual keyboard" feature, which bypasses
45+
TouchCursor on the host OS. You can disable this feature to allow TouchCursor to work.
46+
47+
## Configuration Options
48+
49+
You can access the configuration dialog from the icon in the notification area,
50+
the start menu or, when TouchCursor is active, by holding down space and
51+
pressing F5.
52+
53+
54+
[General Tab]: #general_tab
55+
<a name="general_tab"></a>
56+
### General Tab
57+
58+
Contains general options and key bindings
59+
60+
<p class="picture"><img src="screen_general.png" width="416" height="466" alt="general page"></p>
61+
62+
#### Enabled
63+
64+
Enables and disables TouchCursor. You can also configure this per-program on
65+
the [Programs Tab][].
66+
67+
#### Training mode
68+
69+
This disables the real cursor keys and any others that are bound.
70+
This can be a little annoying but it does get you accustomed to TouchCursor very quickly.
71+
You will probably want to restrict which programs this happens in
72+
using the [Programs Tab][].
73+
74+
#### Beep for mistakes
75+
76+
When using training mode, this option will cause TouchCursor to beep when
77+
it ignores a key.
78+
79+
#### Run at startup
80+
81+
Runs TouchCursor when you log on to Windows.
82+
83+
If you are running TouchCursor from a USB drive
84+
this will have no effect unless the USB drive is connected when you log on.
85+
86+
#### Show icon in notification area
87+
88+
Shows or hides the icon in the notification area (AKA "system tray").
89+
90+
If you hide the icon, you can access the configuration dialog from the
91+
start menu instead (or by pressing Space+F5, if TouchCursor is active).
92+
93+
#### Check for newer versions weekly
94+
95+
Tells TouchCursor to check the web once a week to
96+
see if there is a newer version available for download.
97+
98+
99+
#### Key bindings
100+
101+
This lets you view and customize the key bindings.
102+
103+
You can add, edit or remove entries in the list using the buttons.
104+
Double-clicking an entry will also edit it.
105+
The Reset button resets the bindings to the default values.
106+
107+
#### Activation Key
108+
109+
If you don't want to use Space to activate TouchCursor you can choose a different key from this list.
110+
Note that due to the different ways in which various models of keyboard are wired,
111+
some combinations of activation key and key bindings may not work.
112+
113+
114+
[Programs Tab]: #programs_tab
115+
<a name="programs_tab"></a>
116+
### Programs Tab
117+
118+
This lets you restrict which programs TouchCursor works with.
119+
120+
Click the "..." button to edit a list interactively:
121+
Add a program by dragging the crosshair icon on to the window of the program you want to add.
122+
123+
You can also edit the list directly.
124+
When adding programs this way, type the executable file names, separated by semicolons.
125+
126+
<p class="picture"><img src="screen_programs.png" width="506" height="466" alt="programs page"></p>
127+
128+
#### Cursor Mode
129+
130+
You can choose to enable TouchCursor in all programs except those that you specify, or in only the programs that you specify.
131+
132+
#### Training Mode
133+
134+
You can choose to use Training Mode in all programs except those that you specify, or in only the programs that you specify.
135+
These settings combine with the <em>Training Mode</em> checkbox on the <a href="#general_tab">General Tab</a>:
136+
If Training Mode is disabled, these settings have no effect.
137+
138+
### License
139+
140+
TouchCursor is free software: you can redistribute it and/or modify
141+
it under the terms of the GNU General Public License as published by
142+
the Free Software Foundation, either version 3 of the License, or
143+
(at your option) any later version.
144+
145+
This program is distributed in the hope that it will be useful,
146+
but WITHOUT ANY WARRANTY; without even the implied warranty of
147+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
148+
See the [GNU General Public License](http://www.gnu.org/licenses/gpl.html "GPL license text") for more details.
149+
150+
### More Information
151+
152+
[TouchCursor on the Web](http://touchcursor.com)
153+
[Training Game][]
154+
155+
[Training Game]: http://touchcursor.com/game_instructions.html

docs/key_layout.png

6.48 KB
Loading

docs/screen_general.png

7.84 KB
Loading

docs/screen_programs.png

8.59 KB
Loading

docs/template.html

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2+
<html lang="en">
3+
<head>
4+
<title>TouchCursor Manual</title>
5+
<meta name="description" content="TouchCursor Help">
6+
<style type="text/css">
7+
body {
8+
font-family: Arial, Helvetica, sans-serif;
9+
background-color: white;
10+
color: black;
11+
margin: 0 3em;
12+
padding: 0;
13+
}
14+
15+
p {
16+
margin: 0 0 1em 0;
17+
}
18+
19+
img {
20+
border: 0px none;
21+
}
22+
</style>
23+
</head>
24+
25+
<body id="tc">
26+
<div id="content" class="box">
27+
$body
28+
</div>
29+
</body>
30+
</html>

setup/make_docs.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import sys
2+
import os
3+
import shutil
4+
from glob import glob
5+
import markdown
6+
7+
srcPath = "../docs"
8+
templatePath = os.path.join(srcPath, "template.html")
9+
helpPath = os.path.join(srcPath, "help.txt")
10+
toCopy = ("key_layout.png", "screen_general.png", "screen_programs.png")
11+
12+
def makeDocs(destPath):
13+
14+
if os.path.exists(destPath):
15+
shutil.rmtree(destPath)
16+
17+
if not os.path.exists(destPath):
18+
os.mkdir(destPath)
19+
20+
for file in toCopy:
21+
shutil.copy(os.path.join(srcPath, file), destPath)
22+
23+
# markdown-process body and substitute in template
24+
body = open(helpPath).read()
25+
body = markdown.markdown(body)
26+
template = open(templatePath).read()
27+
html = template.replace("$body", body)
28+
29+
f = open(os.path.join(destPath, "help.html"), "wt")
30+
f.write(html)
31+
f.close()
32+
33+
34+
if __name__ == "__main__":
35+
makeDocs(*sys.argv[1:])
36+

setup/makedist.bat

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
@echo off
2+
3+
set VERSION=1.7.0
4+
set INSTALLER_NAME=TouchCursorSetup-%VERSION%
5+
set ZIP_NAME=TouchCursor-%VERSION%
6+
7+
del ..\TouchCursorSetup*.exe /Q
8+
del ..\TouchCursor*.zip /Q
9+
10+
rem rmdir TouchCursor /S /Q
11+
md TouchCursor
12+
md TouchCursor\docs
13+
14+
copy ..\bin\release\tcconfig.exe TouchCursor
15+
if errorlevel 1 exit %errorlevel%
16+
copy ..\bin\release\touchcursor.exe TouchCursor
17+
if errorlevel 1 exit %errorlevel%
18+
copy ..\bin\release\touchcursor.dll TouchCursor
19+
if errorlevel 1 exit %errorlevel%
20+
copy ..\bin\release\touchcursor_update.exe TouchCursor
21+
if errorlevel 1 exit %errorlevel%
22+
23+
make_docs.py TouchCursor\docs
24+
if errorlevel 1 exit %errorlevel%
25+
26+
copy ..\COPYING.txt TouchCursor
27+
if errorlevel 1 exit %errorlevel%
28+
29+
copy .\redist_deps\*.* TouchCursor
30+
if errorlevel 1 exit %errorlevel%
31+
32+
7z a -tzip ..\%ZIP_NAME%.zip TouchCursor
33+
if errorlevel 1 exit %errorlevel%
34+
35+
"C:\Program Files\Inno Setup 5\iscc.exe" /Q /F%INSTALLER_NAME% setup.iss
36+
if errorlevel 1 exit %errorlevel%
37+
38+
rmdir TouchCursor /S /Q

setup/redist_deps/msvcp90.dll

556 KB
Binary file not shown.

setup/redist_deps/msvcr90.dll

638 KB
Binary file not shown.

0 commit comments

Comments
 (0)