awase is a Windows keyboard remapper that enables NICOLA thumb-shift Japanese input. It intercepts physical key events at a low level, detects simultaneous key presses using NICOLA-compliant timing arbitration (d1/d2 comparison), and sends the resulting romaji to the IME for conversion.
Key features:
- NICOLA-compliant simultaneous keystroke detection with 5 decision modes (wait / speculative / two-phase / adaptive-timing / n-gram predictive)
- N-gram adaptive thresholding derived from a Wikipedia Japanese corpus for improved accuracy
- Compatible with Yamabuki-format (.yab) keyboard layout files
- Broad application compatibility (Win32 / UWP / TSF-native apps such as Chrome, VS Code, WezTerm)
- Multi-layered fault tolerance: hook health monitoring, sleep/resume recovery, IME detection fallback, and automatic TSF cold-start recovery
- Async, message-loop-based executor architecture with blocking APIs isolated on separate threads
- Automatic focus detection that disables conversion outside text fields
- System tray integration for layout switching, settings, and enable/disable toggling