Skip to content

robotgo.TypeStr Fails to Input Chinese Characters with Third-Party IMEs on Windows 11 #729

@ZHLX2005

Description

@ZHLX2005

Description​​
The robotgo.TypeStr() function fails to input Chinese characters when using third-party IMEs (like WeChat Input) on Windows 11. This issue doesn't occur with Microsoft's default IME.

​​Environment​​

OS: Windows 11
Go Version: 1.23.0
Robotgo Version: v0.110.7
Input Method Tested: WeChat Input
​​Steps to Reproduce​​

Install a third-party Chinese IME (e.g., WeChat Input)
Set it as the default input method
Run code:
robotgo.TypeStr("中文测试")
Observe behavior:
❌ With WeChat Input: No Chinese output appears
✅ With Microsoft Pinyin: Chinese characters input correctly
​​Expected Behavior​​
Chinese characters should be reliably typed regardless of IME implementation.

​​Technical Context​​

The issue occurs with multiple third-party IMEs
robotgo.TypeStr() uses simulated keystroke events
Third-party IMEs appear to require full input context handling
Workarounds like clipboard or Unicode typing have compatibility/UX tradeoffs
​​Possible Solutions​​

Add direct IME support in Robotgo
Implement Win32 ImmSetCompositionString API
Provide official docs on IME-specific workarounds
Improve key event sequencing for composition-aware input
​​Priority​​
Medium-High (affects users with localized input requirements)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions