Extended English Input (EEI) is an IBus input method that I wrote primarily for my personal use, because I was sick of having no good way to input emojis and math symbols into most applications. It's a little bit like a faster and much smaller IBus typing booster that does way less.
Assuming you are set up to compile both C and Rust, installation should be as simple as:
git clone [email protected]:Mindful/eei.git
./install.sh
Further instruction can be found at INSTALL
Then, to actually use your new input method:
ibus restart
ibus engine eei
ctrl+e
opens the emoji/symbol lookup table.
ctrl+w
while in the middle of typing a word opens autocomplete for that word.
Binary dictionary data is included in the git repository, so this step is not necessary unless you want to rebuild or modify the dictionary data.
First, download the en_US hunspell dictionary data from http://wordlist.aspell.net/dicts/
sudo apt-get install hunspell-tools
wget http://downloads.sourceforge.net/wordlist/hunspell-en_US-2020.12.07.zip
unzip -o hunspell-en_US-2020.12.07.zip
unmunch en_US.dic en_US.aff > hunspell_US.txt
Then get the word frequency data
wget https://norvig.com/ngrams/count_1w.txt
Finally, run the preprocessing script
cd src/predict
# Can also pass just one of "symbols" or "dictionary" to regenerate only that portion
cargo run --package preproc --bin preproc symbols dictionary
This will generate dictionary.fst
, shortcodes.fst
and symbols.bin
.
You can add custom shortcodes and their associated symbols by editing the custom_shortcodes.tsv
file in src/predict
and then regenerating the symbols file.
Documentation for IBus is pretty poor, so much of the code here is based off of the below repos: