AX documentation
The AX home page where you can download the latest version and get full documentation is at
http://vulpeculox.net/ax
1 Download to your computer
2 Run the installer AXINSTALLER.exe by double clicking on it
3 Follow the simple instructions
4 Run the program by Start -> Programs -> AX
5 Change preferences by right-clicking on the small yellow icon
that appears in the system tray when AX is running
6 More documentation is at Start -> Programs -> AX
7 To see a complete list of currently available accents type space then F8
AX works for many languages and symbols which can be combined.
(Further adaptation is possible - see Customisation below)
When AX is running there is a small yellow icon in the tool bar
(often at the botton right of your screen) Right-click to change
language, symbols and other settings.
The top row of the settings allows you to choose a main language and
an 'extra' language or set of symbols. These may be combined in two
ways: 'Mask' where the main language may disable some of the extra
language's characters and 'Merge' where common cycles are combined.
What suits you is a matter of try it and see.
If you use AX a lot then setting this to 'Yes' means AX will be ready and waiting
in the background each time you switch on your computer.
This is the number of seconds the initial information screen stays on the screen for
unless OKed first.
AX
works incredibly well when all things are considered, however sometimes
there are clashes with other programs and locations limit displayable
characters and keyboards are customised one way or another.
The Sandbox should help you get to the bottom of what is the matter.
There is no guarantee you'll be able to fix the problem completely
but at least you'll know what is causing it.
• Right-click on the icon in the system tray
• Select Sandpit from the menu
• You will see a complete list of displayable characters from the current Main and extra cycles
• Try pressing the active function key when the cursor is next to an AX-able character and see if anything happens
• Space then F8(etc.) puts characters on the screen one at a time (the
same way as it does normally) This may give different results.
• You can try cutting and pasting the from the sandbox to your application
This tells you that your system is capable of displaying the required characters.
• There is nothing wrong with your screen or language settings
Your system is incapable of displaying some characters.
• You may be able to change this via Start->Settings->Control Panel->Regional and language options
It
looks like your keyboard is 'using F8 for something else'. This
is especially common with laptops and 'media' keyboards.
• The function key used to activate AX can be set in the Settings menu. Experiment.
• There have been some reports of 'security' programs interfering with the keyboard. (And malware can do the same.)
If
F8 (Or alternative as set in the Settings) works in the Sandbox but not
in your application then the first thing to do is try another function
key.
• Applications may use a function key in a way which blocks AX
• Applications may be trying fancy auto-correct-as-you-go
Try AX in a number of applications eg word processor, web browser, email and see what the differences are
This indicates that some of the keystrokes being used by AX are being intercepted somewhere. (Not in your application.) The reports of this behaviour have implicated background applications. (The sort that put all those icons in your system tray that you don't know what they actually do.) Try exiting some of those and see if you get your keyboard back.
Your application is not accepting some keystrokes as legitimate characters. There is nothing to do but explain to the program manufacturer. If you get an unsatisfactory response don't use their program.
This
suggests that your application simply won't show the characters.
ie. The problem lies with the application in particular not the
computer in general.
• Your application may have language settings hidden in some back corner you can experiment with.
AX should work with just about every program. A good place to start is try it
in word processor, browser, email program and even Windows explorer. The first thing to
try is changing the function key.
• See Using the sandpit above
Some laptops and keyboards have funny other uses for all the function keys.
You'll need to find out how to stop them being,say, "Next track" and reverting to
plain F-key function.
• See Using the sandpit above
If you see a square box it means your system is not set up to display
that character. This is more often the case with symbols. If it is an
important accent then check your regional settings (Start -> Settings -> Control Panel)
Some programs refuse to work with some characters. Typically a word processor
might refuse to work with a particular accent. This might be due to automatic correction
or a bug. Check by trying typing into a search and replace box. If it works there and not
the text it is probably something like correct-as-you-go.
• See Using the sandpit above
If you've checked that space then F8 doesn't list your specific accent
then have a look at ax.cfg (typically in C:\Program Files\Vulpeculox\ax)
where the language cycles are defined.<b>But do not edit it! See
Adaptation guide below</b> It may be that your language is
not very well implemented. (But it is quite easy to adapt if you
follow basic rules.)
People are always wanting to add 'their' language to AX.
This is easy to do, please read the Adaptation guide.
The power of AX comes from lots of people cooperating
to make the changes available to the rest of the community.
AX spys on your keyboard. This is legitimate but some malware does the same thing.
Some anti-virus programs can't tell the difference.
email ax@vulpeculox.net
* Unresolved problems
* Solutions (They can help others who have the same problem.)
• AX is written by Peter Fox, 2 Tees Close, Witham, Essex, CM8 1LG, England
• The program is copyrighted and owned by Peter Fox.
• The software is licenced under the terms of the "GPL" as distributed with the program
The key thing about this licence is that if you alter or redistribute the program you MUST
provide the source. This is all about people building on each other's efforts.
• No warranty of fitness is offered or to be implied. Use at your own risk...
• ...However there is no malware, nagging, overt or covert data collection of any sort associated
with this program. (Emails to ax@vulpeculox.net will be retained if I think there may be a
useful purpose in contacting a contributor at a later date.)
If you can't get what you want by altering the settings then editing ax.cfg
will allow you to:
(a) Change cycles of accents
(b) Add new languages and symbol sets
(c) Add a new dialog language
* You should make a safety copy of ax.cfg first.
* You will need a Unicode text editor
AX.exe is the program which reads all the languages from AX.cfg
AX.cfg is the file you will be editing to give AX extra languages.
(AX.ahk is the source which is included so that anyone who
wishes to develop AX or just see how it works can build on it.
If you are interested in programming then see the Script construction
section below.)
The accenting part of AX works as follows:
When F8 is pressed it selects and backspaces as if from the keyboard.
Now it copies the selected character and looks it up in a list of characters called a cycle.
If if is in the cycle it pastes the next character in the place of the selected one.
Suppose we have a cycle of three characters "S$S". If the cursor is just to the right of "S"
in some text when F8 is pressed the next character in the cycle will be "$" and so S is
turned into $. If we press F8 again now the character to the left of the cursor is "$" It
is found of course in the cycle and the next is "S". Notice that we are now exactly as
we were at the start.
IMPORTANT : The start and end letter of each cycle must be the same.
IMPORTANT : Cycles must be separated by a space
Typically we want bundle a number of cycles together. All the cycles are
in the AX.cfg file.
IMPORTANT : This is a Unicode file and MUST be edited with a UNICODE TEXT EDITOR
otherwise it will be corrupted. (Take a backup first.)
IMPORTANT : AX.cfg is a Unicode text file and can only be edited with a Unicode text editor
Take a backup first.
If you make changes to ax.cfg then please attach ax.cfg to an email to
ax@vulpeculox.net (Don't send in the body of the text) explaining what
you've done. These changes can then be incorporated into the next
release.
To test out ax.cfg you have to either end then restart the program or run through the settings dialog.
It should be obvous where you have to make the changes and how these are formatted.
Remember that cycles are called cycles for a reason: The first and last letters are the same.
A few texts need to be translated then properly labelled. These are all in the [DIALOGS]
section. It should be clear from the texts already there what to do.
* Texts are accessed by a two-letter language code (en-english, pl-polish etc.) This
code is the ISO 639-1 standard. (If a 2-letter code isn't applicable then a 3-letter
version can be used instead.)
* Insert the language code in the "i18n" line in the correct alphabetical position and add a
vertical bar.
* Create a new series of texts with the language code of the labels changed. For example
HOWTOen -> HOWTOsp.
* "<BR>" indicates a new line. "*KEY*" will get replaced by the function key in use at the time.
HOWTOxx Basic instruction
INFOxx Telling what the current cycles are
MOREINFOxx Directing the user to look at the help file or visit the web site.
LABELSxx Seven brief captions that appear on the settings/preferences dialog
The first is used for the menu and as a caption for the dialog
The rest are labels for the controls left to right, top to bottom.
OPTIONSxx Four options to appear in the combining and auto-start lists
1 Main language takes priority in combining
2 Language cycles are merged
3 Yes
4 No
SETTINGSxx Instruction to access settings/preferences dialog
SANDBOXxx The first item (before |) appears at the menu title. The rest, notice new lines <BR>, is simple explanation of how to use the sandbox.
+ EXITxx
ax.ahk
is the 'program source' as described below in detail. This
is written in the AutoHotkey scripting language. (This scripting
language is not for the faint-hearted as it has many quirks.)
See www.autohotkey.com for more details.
(Specifically the AutoHotkey_L variant which supports Unicode.)
ax.cfg is a Unicode file which contains the character cycles,
internationalised dialog strings and a bit of version information and
editing hints.
Settings are stored in the registry.
The sections of the configuration are identified by [<word>] at the start of a line.
The [CYCLES] section is reserved for entries of the form <name>=<cycle>
All lines of the form <key>=<value> are read into memory. For example
"i18n=de|en|fr|pl" will be accessible to the program as a variable %i18n%
The registry is used to store settings/preferences.
The main branch is HKLM, SOFTWARE\Vulpeculox\AX
The keys (which become variables of the same name) are
* mainlang - Name of main language
* extralang - Name of additional language
* merge - One of the options from the 'combine by' drop-down (See
OPTIONSxx in [DIALOGS]) In English "Masking" or "Merging"
* dialoglang - Two character code used for internationalising dialogs and splash screen
* splashdelay - String version of number of seconds
* fkey - Function key to use eg "F4"
Registry values are first set up by the installation program.
When F8(etc) is pressed it selects and backspaces as if from the keyboard.
Now it copies the selected character and looks it up in a list of characters called a cycle.
If if is in the cycle it pastes the next character in the place of the selected one.
Suppose we have a cycle of three characters "S$S". If the cursor is just to the right of "S"
in some text when F8 is pressed the next character in the cycle will be "$" and so S is
turned into $. If we press F8 again now the character to the left of the cursor is "$" It
is found of course in the cycle and the next is "S". Notice that we are now exactly as
we were at the start.
This is quite a tricky operation applied when we are using the 'Merge' method of combining the main and extra sets. In a nutshell we look at the cycles of the extra language and either append complete to the end of the main language cycles (if the isn't a clash) or cut the characters into the appropriate cycle of the main language if they 'run-together'.
Dealing with the settings are organised in two parts
(1) Create and populate the dialog
(2) Update and dispose of dialog then re-read the config
From
version 4 the registry is used to keep user preferences for 'splash
language', initial active language or initial set. Autostart is
controlled by creating/deleting a shortcut in the start menu group.
The base key is HKLM, SOFTWARE\Vulpeculox\AX
String used to reference an extra cycle in ax.cfg eg Arrows
Can also be used to reference a 2nd language
String:
Merge (or i18n equivilent) ... Merge base and extra cycles
Mask (or i18n equivilent) ... Base cycles mask extra cycles
A two character string (lowercase) which selects the language to use for splash and other messages.
Currently supported are en(default),fr,de, and pl
The code needs to match the splash screen texts section of ax.cfg
Switches between the two methods of combining languages.
The options are read from the [DIALOGS] section of ax.cfg and may be internationalised. (See OPTIONSxx)
Stored in the registry
Automatic starting is arranged by putting a shortcut (.lnk) to ax.exe in the startup section of the start menu.
The yes/no otions may be internationalised (See OPTIONSxx)
The two character code used to internationalise splash screen and dialogs.
Stored in the registry
The options for this are obtained from the "i18n" value in the [DIALOGS] section.
Number of seconds before automatically closing the splash screen.
Stored in the regsitry
Note : I Have not allowed this to be completely disabled as I believe it is important
that programs which insinuate themselves in sensitive places should not do so
with complete stealth.
Defaulting to F8 this is stored in the registry as a string. eg "F4"
The options are hard-coded F1...F12
+ Pre-history
The first version of AX was written and distributed back in 1993.
It was created using Visual Basic for Windows but it didn't work
very well with Win98 and so fell into disuse.
The method was revived in 2008 using the AutoHotkey scripting utility
as an excuse to put off real work for an hour.
Version improvements have been driven by feedback from users.
+
Version 1.00 5th September 2008
• First release
Version 1.10 16th January 2009
• French character set renamed French1
• öœ ÖŒ Æ æ Added to French
+
Version 2.10 14th December 2010
• Recompiled with Unicode support
+
Version 3.0 26th December 2010
• Supports French and German splash screen.
• Russian cycles added
• New installation method
• Documentation revised
Version 3.10 28th January 2011
• Added Polish, Esperanto, Slovak, Chinese-pinyin
• Bug in Italian fixed
Version 4.0 30th January 2011
• NOT COMPATIBLE WITH PREVIOUS VERSIONS
• Complete rewrite of settings to use menu and dialog to be intuitive and non-technical
• Command line and shortcuts and multiple start/programs/ax menus removed
• Smoother, simpler setup program
• Better internationalisation
• Additional languages and symbols
• Rewrite of documentation and simplification of getting started
Version 4.10 12th Feb 2011
• Adapted so that preferences are stored in a file called ax.settings.
This improves the user experience when using AX on a USB stick.
(Settings are still stored in the registry. This only kicks-in if AX is
not being run under the program files directory.)
Version 4.11 14th August 2011
Bug fixed when merging character cycles
+ Other operating systems
AX has been made possible by hooking into the Windows operating system, which unfortunately makes it Windows specific.
I'm sure that other operating systems could be hacked to give a similar
feature - don't forget the basic method is incredibly simple. For
an OS expert the API calls shouldn't be too challenging: A keyboard
hook, a way to send fake characters and a way to read the cut and paste
buffer are all that's required.
Languages
Essential
• ax.exe
• ax.cfg
Required
• licence.txt
• docs\GetStarteden.txt ... Info to appear in installer
• docs\axen.htm ... full documentation (en)
• ax.ico
Sources
• ax.ahk
To create a working AX all that is needed is ax.exe and ax.cfg in the same directory.
(However this doesn't comply with the terms of the GPL and isn't user friendly.)
The standard setup program is built with Inno setup.
The configuration for this is available on request.
• Users who have put time and effort into improving AX, particularly by
supplying new character cycles and translations of documentation.
- Mehmet Kayaalp
- Jerry McCarthy
- Roger McKeon
- David Mummery
- Alain Petit
- George Zolkiewski
- Brian Williams
- Laszlo Horvath
- Angelo Pugliese from Kolkata, India
• The people who have created, developed and made freely available
<i>Autohotkey</i> and <i>AutoHotkey_L</i>
• The people who have created the <i>Inno setup</i> installer creator program.