Skip to content

FyreX-opensource-design/expansion-input-method

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EIM Text Expansion System

A comprehensive text expansion system that works across Windows (AutoHotkey) and Linux (AutoKey + Wayland solutions).

๐Ÿ“ Project Structure

AutoHotkey/
โ”œโ”€โ”€ README.md                           # This file - project overview
โ”œโ”€โ”€ EIM.ahk                            # Windows AutoHotkey script
โ”œโ”€โ”€ EIM_expansions_data.py             # Shared expansion data
โ”œโ”€โ”€ README_Expansion_Types.md          # Complete expansion type guide
โ”œโ”€โ”€ README_Region_Abbreviations.md     # Geographic abbreviations guide
โ””โ”€โ”€ linux/                             # Linux solutions
    โ”œโ”€โ”€ README.md                      # Linux overview and X11 solutions
    โ”œโ”€โ”€ EIM_autokey_corrected.py      # AutoKey script for X11
    โ”œโ”€โ”€ README_AutoKey.md              # AutoKey setup guide
    โ””โ”€โ”€ wayland/                       # Wayland-specific solutions
        โ”œโ”€โ”€ README.md                  # Wayland overview
        โ”œโ”€โ”€ EIM_autokey_dotool_daemon_evdev.py  # Enhanced daemon
        โ”œโ”€โ”€ start_eim_daemon_enhanced.sh         # Startup script
        โ””โ”€โ”€ README_Background_Monitoring.md      # Complete guide

๐Ÿš€ Quick Start

Windows Users

  1. Install AutoHotkey
  2. Run EIM.ahk
  3. Type abbreviations anywhere - they expand automatically!

๐Ÿ’ก Application Compatibility: The AutoHotkey script works best with modern, responsive applications. Slower applications like Notepad don't work properly for outputs with multuple words. For optimal experience, use note-taking apps (Joplin, Obsidian, Nextcloud Notes) or word processors (Microsoft Office, Google Docs, Nextcloud Office).

Linux Users

  • X11 (GNOME (prior to V46), KDE, XFCE): See linux/README_AutoKey.md
  • Wayland (current GNOME, Hyprland, Sway): See linux/wayland/README_Background_Monitoring.md

๐ŸŽฏ What is EIM?

EIM (Enhanced Input Method) is a text expansion system that automatically converts abbreviations into full phrases, legal text, geographic locations, and more. It's designed to work seamlessly across different platforms and display servers.

๐ŸŒŸ Key Features

  • 800+ Built-in Expansions - Text, legal, geographic, word completions
  • Cross-Platform - Windows, Linux X11, Linux Wayland
  • Smart Abbreviations - Prefix-based system for easy memorization
  • Background Operation - Always running, always ready (Linux Wayland)
  • Professional Quality - Production-ready with error handling

๐Ÿ“š Documentation

๐Ÿ”ค Expansion Types

Text Abbreviations (a/A prefix)

  • aomg โ†’ "oh my god"
  • Aomg โ†’ "Oh my god"

Legal Phrases (la/LA prefix)

  • lainre โ†’ "in reference to the matter of"
  • LAinre โ†’ "In reference to the matter of"

Word Completions (n/t prefix)

  • ncondi โ†’ "condition"
  • tdefen โ†’ "defensive"

Geographic (US, CA, cc, ID prefixes)

  • USca โ†’ "California"
  • ccus โ†’ "United States"

Nationality ('pcc' prefix)

  • pccus โ†’ "American"

๐Ÿ› ๏ธ Data Management

All expansions are stored in EIM_expansions_data.py, EIM.ahk in the case of windows, and shared across platforms. To add custom expansions:

  1. Edit EIM_expansions_data.py
  2. Add entries to EXPANSIONS_DATA dictionary and to EIM.ahk
  3. Restart scripts or reload applications

๐Ÿ”„ Platform Migration

Windows to Linux

  • X11: Use AutoKey with linux/EIM_autokey_corrected.py
  • Wayland: Use enhanced daemon in linux/wayland/

Linux to Windows

  • Copy EIM.ahk to Windows machine
  • Install AutoHotkey
  • Run the script

๐ŸŒ Supported Platforms

Platform Display Server Solution Experience
Windows N/A AutoHotkey Native, seamless
Linux X11 AutoKey Full integration
Linux Wayland Enhanced Daemon Best experience

๐Ÿ”ง Installation

Windows

# Download and run EIM.ahk
# Requires AutoHotkey v2.0

Linux X11

cd linux
# Follow README_AutoKey.md

Linux Wayland

cd linux/wayland
./start_eim_daemon_enhanced.sh install-evdev
./start_eim_daemon_enhanced.sh start

๐Ÿš€ Why Choose EIM?

  • Professional Quality - Built for business and productivity use
  • Cross-Platform - Same abbreviations work everywhere
  • Smart Design - Prefix system prevents conflicts
  • Active Development - Regular updates and improvements
  • Community Support - Clear documentation and troubleshooting

๐Ÿ”ฎ Future Development

  • Mobile Support - Android/iOS text expansion (android currently in the words via Texspand. Might be more limited in scope...)
  • AI Integration - Smart abbreviation suggestions (windows and Linux currently planned)
  • Multi-Language - International expansion support

๐Ÿค Contributing

  • Report issues with specific platforms
  • Suggest new expansion categories
  • Test on different Linux distributions
  • Improve documentation and examples
  • Sort out some entries propaerly (Cursor/Claude is somewhat bad at this...)

EIM provides the most seamless text expansion experience across platforms, with Wayland users getting the closest AutoHotkey-like functionality on Linux!

About

fast typing input methods for phonetic languages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published