Can you email me that word list? I'll see if I can speed up the loading any. The reason it loads slower is because the wordlist.txt is added to the sql database every time and removed when exiting. The learned words stay loaded, but won't be in alphabetical order.

my three wishes:
1. shortcut for upper/lower case first letter of a word
2. possibilty to switch word lists (different languages) on the fly
3. shortcut for singular/plural form of a word (a complex topic with different languages)

how can I import my text file based learned word list in the data base?
Is there a documentation of the data base structure?

Many thanks and greetings
hotkeyguy

Delete WordlistLearned.db and it will be rebuilt from WordlistLearned.txt
No, but it's pretty simple. Just check it out using something like sqlitebrowser.

hotkeyguy wrote:Hello,

my three wishes:
1. shortcut for upper/lower case first letter of a word
2. possibilty to switch word lists (different languages) on the fly
3. shortcut for singular/plural form of a word (a complex topic with different languages)

*2.22.0 6/26/2015
** Added the ability to exact match on Window Titles (enquote, or tick the checkbox)
** Added Word Replacements. In wordlist.txt, use the form <word>|r|<replacement word>. To define more than one replacement per word, simply add the word again on a different line. If Case Correction is off, the case of the first letter will be changed to match the word being replaced
** Added Word Descriptions. In wordlist.txt, use the form <word>|d|<description>. Replacements and Descriptions are compatible and can exist on the same word. With fixed width fonts, the description will show in a separate column
** Added a setting to control the width of the List Box in pixels
** Added Numpad Enter as an autocomplete key
** Fixed issues with words that had apostrophes (') in them
** Set journal_mode to TRUNCATE so the db journal isn't deleted every time
** Minor performance improvements when loading the wordlist
** Added a progress bar when loading the wordlist
** Added a progress bar when cleaning the wordlist (when exiting the script, the box may appear blank. I think this is because the script is exiting)
** Added framework for database conversions
** Fixed issue with overriding the default font

Would it be possible to have the Wordlist.txt file shared across a network and have multiple users using it? I'd like to then make changes to the Wordlist.txt file and when the users restart the program the changes would be uploaded into the database.

I think a better idea would be to have Wordlist.txt AND Defaults.ini (if you aren't using a defaults.ini in a multi-user environment, you probably should be) pulled down to the client from a central location each time you start TypingAid. A batch file or something similar could be used to do this.

that's a great tool, but I had to modify the code a bit (thank holy cows, it was provided here).

The problem was thatn it uses direct keys, like +^c, +^h etc. I had to change them to their scan equivalents (+^sc02e, +^sc023), because when I use the Russian keyboad, ahk seems not to send latin letters, so other locales except latin-based don't work properly.

Thus, if the AutoComplete is to continue developing, to make it more versatile, it is desireable to use scan codes rather than direct letters for hotkeys.

There appears to be a discrepancy with the documentation, peoples comments in this thread and what I see on my PC:

I see no 'WordlistLearned.txt but I do see the .db. When and how is this txt file created?

When I delete the .db it reads in everything from Wordlist.txt, so WordListLearned.db appears to be a complete db of all words imported from the inititial file _plus_ what I have learned (so the name seems a bit missleading).

This a brilliant piece of code and exactly what I was looking for.. thanks to all involved.

SUGGESTION: Suppress word learning or prompting (as an option) when within password fields. I see my passwords are showing in clear text

Ok, I'm partially answering my own question here. After a little playing around and SQLite browsing I would explain the Wordlist.txt files as this:

Each time you start TypingAid it will read in the contents of the file Wordlist.txt from the same location as the exe, as well as any words stored in the WordlistLearned.db (SQLite file).

[Explanation of when and how words are learned]

If you want to modify your learned words, [explanation of how the .db file is backed up as a .txt file] edit the WordlistLearned.txt and delete the WordlistLearned.db, then start TypingAid.

--
As you can see I am still missing some information in relation to the generation of WordlistLearned.txt and how words end up in the database (I typed a word more than 5 times so assumed it would be in my .db file, but it was not. But when I type it I see it as a suggestion!?! )

Ok, now I can fully answer my question as I had forgotten I had set up multiple instances of TypeingAid (since I could not easily switch word lists).

So here is my suggestion of how to describe the concept of Wordlists that might help others:

Each time you start TypingAid it will read in the contents of Wordlist.txt as well as the WordlistLearned.db (and SQLite database)

Each time you type an unrecognised word 5 times (changed in settings) it will add it to WordlistLearned.db and WordlistLearned.txt. This txt file is both a backup and an easy way for you to modify your learned words.

that's a great tool, but I had to modify the code a bit (thank holy cows, it was provided here).

The problem was thatn it uses direct keys, like +^c, +^h etc. I had to change them to their scan equivalents (+^sc02e, +^sc023), because when I use the Russian keyboad, ahk seems not to send latin letters, so other locales except latin-based don't work properly.

Thus, if the AutoComplete is to continue developing, to make it more versatile, it is desireable to use scan codes rather than direct letters for hotkeys.

There appears to be a discrepancy with the documentation, peoples comments in this thread and what I see on my PC:

I see no 'WordlistLearned.txt but I do see the .db. When and how is this txt file created?

When I delete the .db it reads in everything from Wordlist.txt, so WordListLearned.db appears to be a complete db of all words imported from the inititial file _plus_ what I have learned (so the name seems a bit missleading).

This a brilliant piece of code and exactly what I was looking for.. thanks to all involved.

SUGGESTION: Suppress word learning or prompting (as an option) when within password fields. I see my passwords are showing in clear text

You're welcome! As I mentioned on github, please see the setting "Sub-strings to not learn". Simply type a small piece of your password there, and anything that contains that string will not be learned. Unfortunately there's no way for TypingAid to know that you're in a password field.

wolis wrote:Ok, now I can fully answer my question as I had forgotten I had set up multiple instances of TypeingAid (since I could not easily switch word lists).

So here is my suggestion of how to describe the concept of Wordlists that might help others:

Each time you start TypingAid it will read in the contents of Wordlist.txt as well as the WordlistLearned.db (and SQLite database)

Each time you type an unrecognised word 5 times (changed in settings) it will add it to WordlistLearned.db and WordlistLearned.txt. This txt file is both a backup and an easy way for you to modify your learned words.

You can also manually modify Wordlist.txt directly (several can be downloaded to get you started).

There's a whole section on this in the readme and first post. Is this insufficient?

The script will learn words as you type them if "Learn new words as you type" is set to On in Settings. If you type a word more than 5 times (or as defined in "Minimum length of word to learn") in a single session the word will be permanently added to the list of learned words. Learned words will always appear below predefined words, but will be ranked and ordered among other learned words based on the frequency you type them. You can permanently learn a word by highlighting a word and hitting Ctrl-Shift-C (this works even if "Learn new words as you type" is set to Off). You may use Ctrl-Shift-Del to remove the currently selected Learned Word.
Learned words are stored in the WordlistLearned.db sqlite3 database. Learned words are backed up in WordlistLearned.txt. To modify the list of Learned words manually, delete the WordlistLearned.db database, then manually edit the WordlistLearned.txt file. On the next launch of the script, the WordlistLearned.db database will be rebuilt.