[English] BetterIME is a JOSM plugin that automatically manages Chinese IME state based on focus context, preventing IME from intercepting keyboard shortcuts while editing the map. GitHub: https://github.com/nj-yzf/josm-BetterIME
问题背景
使用中文输入法编辑 OpenStreetMap 时,JOSM 的快捷键(如 S 选择、A 添加节点、W 提高路径精度等)经常被输入法拦截,导致快捷键失效。每次都要手动切换输入法,非常影响编辑效率。
为此我开发了 BetterIME 插件,让 JOSM 根据当前操作场景自动控制输入法状态。
功能介绍
插件将输入法控制分为三种场景:
自动切换至中文输入法: - 编辑 name、name:zh、name:zh-Hans、name:zh-Hant、alt_name、operator 标签时 - 打开 F3「搜索预设组合」对话框时
默认英文,可手动切换: - 其他文本输入框(如 Ctrl+F 查找、其他标签编辑等)
禁用输入法(快捷键正常工作): - 地图视图、工具栏等非文本组件,Shift/Ctrl+Space 也无法意外切换至中文
此外,插件还释放了 Ctrl+Space 快捷键(JOSM 默认绑定为「搜索菜单项」),让它回归系统输入法切换功能。
首选项设置
通过 编辑 → 首选项 (F12) 打开 BetterIME 设置页,可以:
- 启用/禁用自动输入法切换(总开关)
- 启用/禁用 F3 搜索预设对话框中的中文输入法
- 启用/禁用基于标签键的自动检测
- 自定义触发中文输入法的标签键列表(支持添加、删除、重置)
所有设置即时生效,无需重启 JOSM。
安装方式
方式一:JOSM 内置插件管理器 1. 打开 编辑 → 首选项 → 插件 2. 搜索 BetterIME 3. 勾选启用,重启 JOSM
方式二:手动安装 1. 从 GitHub Releases 页面下载 BetterIME.jar:https://github.com/nj-yzf/josm-BetterIME/releases 2. 将 JAR 文件复制到 JOSM 插件目录(Windows: %APPDATA%\JOSM\plugins\) 3. 在 编辑 → 首选项 → 插件 中勾选启用,重启 JOSM
兼容性
- JOSM 19555 及以上版本
- Java 11 及以上
- 目前仅在 Windows 上测试过,macOS 和 Linux 上的输入法框架不同,可能无法正常工作,欢迎反馈测试结果
反馈
如果遇到问题或有功能建议,欢迎在 GitHub 提交 Issue:https://github.com/nj-yzf/josm-BetterIME/issues
许可证:GPL-2.0-or-later(与 JOSM 一致)