A comprehensive text expansion system that works across Windows (AutoHotkey) and Linux (AutoKey + Wayland solutions).
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
- Install AutoHotkey
- Run
EIM.ahk
- 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).
- X11 (GNOME (prior to V46), KDE, XFCE): See
linux/README_AutoKey.md
- Wayland (current GNOME, Hyprland, Sway): See
linux/wayland/README_Background_Monitoring.md
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.
- 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
- README_Expansion_Types.md - Complete guide to all expansion types and patterns
- README_Region_Abbreviations.md - Geographic abbreviations and conflict resolution
- linux/README.md - Linux solutions overview
- linux/wayland/README_Background_Monitoring.md - Wayland background monitoring
aomg
→ "oh my god"Aomg
→ "Oh my god"
lainre
→ "in reference to the matter of"LAinre
→ "In reference to the matter of"
ncondi
→ "condition"tdefen
→ "defensive"
USca
→ "California"ccus
→ "United States"
pccus
→ "American"
All expansions are stored in EIM_expansions_data.py
, EIM.ahk
in the case of windows, and shared across platforms. To add custom expansions:
- Edit
EIM_expansions_data.py
- Add entries to
EXPANSIONS_DATA
dictionary and toEIM.ahk
- Restart scripts or reload applications
- X11: Use AutoKey with
linux/EIM_autokey_corrected.py
- Wayland: Use enhanced daemon in
linux/wayland/
- Copy
EIM.ahk
to Windows machine - Install AutoHotkey
- Run the script
Platform | Display Server | Solution | Experience |
---|---|---|---|
Windows | N/A | AutoHotkey | Native, seamless |
Linux | X11 | AutoKey | Full integration |
Linux | Wayland | Enhanced Daemon | Best experience |
# Download and run EIM.ahk
# Requires AutoHotkey v2.0
cd linux
# Follow README_AutoKey.md
cd linux/wayland
./start_eim_daemon_enhanced.sh install-evdev
./start_eim_daemon_enhanced.sh start
- 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
- 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
- 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!