Develop input methods for Windows easily with Python and node.js
1,472
stars
1,084
commits
C++
primary language
Jul 25, 2026
updated
Implement input methods easily for Windows via Text Services Framework:
All parts are licensed under GNU LGPL v2.1 license.
i686-pc-windows-msvc target)Get source from github.
git clone https://github.com/EasyIME/PIME.git
cd PIME
git submodule update --init
Ensure the 32-bit Rust target is installed:
rustup target add i686-pc-windows-msvc
Use build.bat to build everything, or use the following CMake commands to generate Visual Studio project.
cmake . -Bbuild -G "Visual Studio 16 2019" -A Win32
cmake --build build --config Release
# For 64-bit Text Service (Required for 64-bit apps)
cmake . -Bbuild64 -G "Visual Studio 16 2019" -A x64
cmake --build build64 --config Release --target PIMETextService
The generated installer will be in the installer folder after running makensis.
Copy PIMETextService.dll to C:\Program Files (X86)\PIME\x86.
Copy PIMETextService.dll to C:\Program Files (X86)\PIME\x64.
Copy the folder python to C:\Program Files (X86)\PIME\
Copy the folder node to C:\Program Files (X86)\PIME\
Use regsvr32 to register PIMETextService.dll. 64-bit system need to register both 32-bit and 64-bit PIMETextService.dll
regsvr32 "C:\Program Files (X86)\PIME\x86\PIMETextService.dll" (run as administrator)
regsvr32 "C:\Program Files (X86)\PIME\x64\PIMETextService.dll" (run as administrator)
NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.
In Windows 8, if you put the dlls in places other than C:\Windows or C:\Program Files, they will not be accessible in metro apps.
Use regsvr32 to unregister PIMETextService.dll. 64-bit system need to unregister both 32-bit and 64-bit PIMETextService.dll
regsvr32 /u "C:\Program Files (X86)\PIME\x86\PIMETextService.dll" (run as administrator)
regsvr32 /u "C:\Program Files (X86)\PIME\x64\PIMETextService.dll" (run as administrator)
Remove C:\Program Files (X86)\PIME
NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.
Please report any issue to here.
If you encounter issues, you can run PIMELauncher.exe with the /console argument:
PIMELauncher.exe /console
This opens a console window which displays debug logs, making it easier to troubleshoot backend communication and other internal events.
C++
46.8%
Python
34.8%
HTML
5.5%
C
3.1%
Go
2.9%
JavaScript
2.3%
NSIS
2.2%
Rust
1.5%
Develop input methods for Windows easily with Python and node.js
1,472
stars
1,084
commits
C++
primary language
Jul 25, 2026
updated
Implement input methods easily for Windows via Text Services Framework:
All parts are licensed under GNU LGPL v2.1 license.
i686-pc-windows-msvc target)Get source from github.
git clone https://github.com/EasyIME/PIME.git
cd PIME
git submodule update --init
Ensure the 32-bit Rust target is installed:
rustup target add i686-pc-windows-msvc
Use build.bat to build everything, or use the following CMake commands to generate Visual Studio project.
cmake . -Bbuild -G "Visual Studio 16 2019" -A Win32
cmake --build build --config Release
# For 64-bit Text Service (Required for 64-bit apps)
cmake . -Bbuild64 -G "Visual Studio 16 2019" -A x64
cmake --build build64 --config Release --target PIMETextService
The generated installer will be in the installer folder after running makensis.
Copy PIMETextService.dll to C:\Program Files (X86)\PIME\x86.
Copy PIMETextService.dll to C:\Program Files (X86)\PIME\x64.
Copy the folder python to C:\Program Files (X86)\PIME\
Copy the folder node to C:\Program Files (X86)\PIME\
Use regsvr32 to register PIMETextService.dll. 64-bit system need to register both 32-bit and 64-bit PIMETextService.dll
regsvr32 "C:\Program Files (X86)\PIME\x86\PIMETextService.dll" (run as administrator)
regsvr32 "C:\Program Files (X86)\PIME\x64\PIMETextService.dll" (run as administrator)
NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.
In Windows 8, if you put the dlls in places other than C:\Windows or C:\Program Files, they will not be accessible in metro apps.
Use regsvr32 to unregister PIMETextService.dll. 64-bit system need to unregister both 32-bit and 64-bit PIMETextService.dll
regsvr32 /u "C:\Program Files (X86)\PIME\x86\PIMETextService.dll" (run as administrator)
regsvr32 /u "C:\Program Files (X86)\PIME\x64\PIMETextService.dll" (run as administrator)
Remove C:\Program Files (X86)\PIME
NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.
Please report any issue to here.
If you encounter issues, you can run PIMELauncher.exe with the /console argument:
PIMELauncher.exe /console
This opens a console window which displays debug logs, making it easier to troubleshoot backend communication and other internal events.
C++
46.8%
Python
34.8%
HTML
5.5%
C
3.1%
Go
2.9%
JavaScript
2.3%
NSIS
2.2%
Rust
1.5%