Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ InputTip Public

一个输入法状态管理工具: 实时提示(鼠标方案/符号方案) + 状态切换(窗口触发/热键触发)

License

Notifications You must be signed in to change notification settings

abgox/InputTip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

548 Commits

Repository files navigation

InputTip

Github | Gitee

license version code size repo size created


github-socialify

喜欢这个项目?请给它一个 Star ⭐️ 或 赞赏 💰

Tip

介绍

  • 一个输入法状态管理工具: 实时提示(鼠标方案/符号方案) + 状态切换(窗口触发/热键触发)

    • 多种状态提示方案
      • 鼠标方案: 使用多套鼠标光标样式,根据输入法状态加载不同的鼠标光标样式
      • 符号方案: 根据输入法状态在输入光标附近显示不同的 符号
        • 还有一个折中方案: 在鼠标附近显示符号
    • 切换不同窗口时,自动切换到指定的输入法状态
      • 支持 标题级 的匹配
    • 设置按键切换到指定的输入法状态
    • 详细便捷的配置菜单
      • 所有的配置变动,都只应该在 托盘菜单 中进行
      • 不要手动修改 InputTip.ini 文件

演示

新的变化

常见问题

  • 如果有使用问题,请先确保当前使用的 InputTip 是最新版本

    • 如果是 zip 版本:

      • 托盘菜单 => 其他设置 => 更新检查 => 与源代码仓库同步
      • 同步完成后,检查问题是否仍然存在
    • 如果是 exe 版本:

      • 托盘菜单 => 关于 中查看当前版本号
      • 托盘菜单 => 其他设置 => 更新检查 => 立即检查版本更新
      • 如果存在新版本,你应该先更新,然后检查问题是否仍然存在
  • 然后查看相关的文档

  • 如果还有问题,可以创建 issues 或前往 腾讯频道 交流反馈

安装

zip 版本

Tip

exe 版本

Warning

  • 在仓库的 Releases (发行版) 中下载 InputTip.exe

  • 使用 Scoop

    • 添加 abyss bucket (GithubGitee)

    • 安装 InputTip

      scoop install abyss/abgox.InputTip
  • 使用 WinGet

    winget install abgox.InputTip

使用

  1. 完成 安装 后,运行对应文件即可

    • Scoop: 运行安装后创建的 InputTip 快捷方式或命令即可

    • WinGet: 运行 InputTip 命令即可

    • 如果是手动下载的

      • zip 版本: 运行 InputTip.bat
      • exe 版本: 运行 InputTip.exe
  2. 设置开机自启动: 托盘菜单 => 开机自启动

  3. 设置 配置菜单的字体大小

    • 你可以设置字体大小来优化配置菜单在不同屏幕上的显示效果
    • 托盘菜单 => 其他设置 => 配置菜单字体大小
  4. 使用 鼠标方案: 托盘菜单 => 状态提示 - 鼠标方案 => 加载鼠标样式

  5. 使用 符号方案: 托盘菜单 => 状态提示 - 符号方案 => 指定符号的类型

  6. 更多相关配置在 托盘菜单 中查看

卸载

  1. 取消 开机自启动: 托盘菜单 => 开机自启动
  2. 退出: 托盘菜单 => 退出
  3. 删除 目录结构及数据 中展示的相关目录即可

目录结构及数据

  • zip 版本

    InputTip-zip/
    ├── InputTip.bat # 启动脚本
    ├── src/
     ├── InputTip.ini # 配置文件
     ├── InputTipCursor/ # 鼠标样式
     ├── InputTipSymbol/ # 图片符号
     ├── InputTipIcon/ # 软件图标
     └── ... # 其他源代码文件
    └── ... # 其他文件
    
  • exe 版本

    • exe 版本是一个单文件程序,运行后会创建相关目录和文件
    • 建议新建一个目录,将 InputTip.exe 放入其中再运行
    InputTip-exe/
    ├── InputTip.exe # 主程序
    ├── InputTip.ini # 配置文件
    ├── InputTipCursor/ # 鼠标样式
    ├── InputTipSymbol/ # 图片符号
    ├── InputTipIcon/ # 软件图标
    └── ...

  • 如果你需要备份 InputTip 的数据以便于后续使用,请备份它们

    • InputTip.ini
    • InputTipCursor (如果没有修改,可以忽略)
    • InputTipSymbol (如果没有修改,可以忽略)
    • InputTipIcon (如果没有修改,可以忽略)
  • 如果使用 Scoop 安装 abyss 中的 InputTip-zipInputTip

    • 它会将这些数据文件或文件夹保存在 Scoop 的 persist 目录中
    • 可以正常通过 Scoop 更新、卸载,不会删除它们,除非卸载时携带 -p--purge 参数
  • 如果使用 WinGet 安装 abgox.InputTip

    • 这些数据文件或文件夹会保存在 $env:LocalAppData\Microsoft\WinGet\Packages\abgox.InputTip_Microsoft.Winget.Source_8wekyb3d8bbwe
    • 可以正常通过 WinGet 更新、卸载,不会删除这些数据文件和文件夹

自定义功能

Caution

  • src 目录下有一个 plugins 目录
  • 目录中添加了一个空的 InputTip.plugin.ahk 文件
  • InputTip 会加载这个源代码文件,你可以在其中添加自定义功能,比如 自定义热键自定义热字串
  • 或者,在 plugins 目录中新建 .ahk 文件,然后在 InputTip.plugin.ahk#Include
  • plugins 目录的特点:
    • plugins 目录中的文件不会因为版本更新而被覆盖
    • 如果你使用 Scoop 安装 abyss 中的 abgox.InputTip-zip,plugins 目录会被 persist
      • 因此,也可以通过 Scoop 更新,而不会覆盖 plugins 目录中的文件

关于状态提示方案

鼠标方案

符号方案

  • 根据输入法状态显示不同的 符号

  • 它有两种显示位置

    • 在鼠标附近显示:
      • 托盘菜单 => 在鼠标附近显示符号
    • 在输入光标附近显示:
  • 注意: 在输入光标附近显示会涉及到调用 DLL 获取应用窗口中的输入光标位置信息

    • InputTip 将通过 光标获取模式 尝试获取到输入光标位置信息
      • 部分应用可能会因为 DLL 调用出现兼容性问题
        • 它们应该从 符号的白名单 中移除
        • 或者,使用 在鼠标附近显示符号
      • 部分应用可能必须使用某个特殊模式才能获取
      • 可以通过 托盘菜单 => 光标获取模式 进行指定并测试
    • 如果获取不到:
      • 符号无法显示
      • 这就只能使用 鼠标方案 或者 在鼠标附近显示符号
    • 获取到了,符号位置有偏差,但在此应用中,所有窗口的偏差相同:
      • 符号会显示,但符号显示的位置有偏差
      • 由于偏差相同,可以通过 偏移量特殊偏移量 解决
    • 获取到了,符号位置有偏差,且在此应用中,不同窗口的偏差不同:

Tip

Warning

  • 如果不使用 符号方案,或者正在使用 在鼠标附近显示符号,无需步骤 1 和 2
  1. 安装 Microsoft OpenJDK 21

    • 使用 Scoop

      • 添加 abyss bucket (GithubGitee)

      • 安装 Microsoft.OpenJDK.21

        scoop install abyss/Microsoft.OpenJDK.21
    • 使用 WinGet

      winget install Microsoft.OpenJDK.21
  2. 启用 Java Access Bridge

    • 如果以下命令不存在,请检查 步骤 1

    • 如果以下命令不能正常运行,请检查环境变量是否配置正确

      java -version
      jabswitch -enable
  3. 托盘菜单 => 其他设置 => JAB/JetBrains IDE 支持

  4. 托盘菜单 => 光标获取模式,设置 JetBrains IDE 的光标获取模式为 JAB

  5. 如果未生效,请依次尝试以下操作并查看是否生效

    • 重启 InputTip: 托盘菜单 => 重启
    • 重启正在运行的 JetBrains IDE
    • 重启系统

Tip

如果有多块屏幕,副屏幕上可能有坐标偏差,需要通过 托盘菜单 => 特殊偏移量 手动调整

自定义鼠标样式

Tip

  • 你需要在 InputTipCursor 目录下创建一个文件夹

  • 不应该放在 default 文件夹下

  • 文件夹中只能包含鼠标样式文件(后缀名为 .cur.ani)

  • 必须使用以下表格中的文件名(大小写都可以)

  • 每个文件都不是必须的,但建议至少添加 Arrow,IBeam,Hand

    文件名(类型) 说明
    Arrow 普通选择
    IBeam 文本选择/文本输入
    Hand 链接选择
    AppStarting 后台工作
    Wait 忙碌
    SizeAll 移动
    SizeNWSE 对角线调整大小 1 (左上 => 右下)
    SizeNESW 对角线调整大小 2 (左下 => 右上)
    SizeWE 水平调整大小
    SizeNS 垂直调整大小
    No 无法(禁用)
    Help 帮助选择
    Cross 精度选择
    UpArrow 备用选择
    Pin 位置选择
    Person 人员选择
    Pen 手写
  • 详情参考 微软文档: 关于光标(游标)

Warning

  • 你应该尽量让三种状态下的鼠标样式文件夹中包含的鼠标样式文件的数量和类型是一致的
  • 比如:
    • 如果中文状态的文件夹路径下有 IBeam.curIBeam.ani 文件,英文状态或大写锁定的文件夹路径下没有。
    • 则切换到中文状态时,会加载中文状态的 IBeam.curIBeam.ani
    • 但是再切换到英文或大写锁定时,IBeam 类型的鼠标样式不会变化,因为英文和大写锁定缺少对应的样式文件

兼容情况

应用窗口兼容情况

Tip

如果你不使用 符号方案,可以直接忽略

  • InputTip 在部分应用窗口中无法正确获取到输入光标位置,导致使用 符号方案 可能存在问题
  • 应用窗口兼容情况 会记录这些特别的应用窗口
  • 你也可以使用 在鼠标附近显示符号 作为折中的方案

输入法兼容情况

Tip

  • InputTip 使用 通用自定义 模式兼容不同输入法的状态识别,默认使用 通用 模式
  • 如果你熟悉了 自定义 模式,建议直接使用 自定义 模式去配置规则,状态识别会更稳定
  • 设置: 托盘菜单 => 输入法相关
  • 通用

    • 微信输入法

    • 搜狗输入法,搜狗五笔输入法

    • QQ 输入法

    • 百度输入法

    • 微软拼音,微软五笔,微软仓颉...

      • 指定窗口自动切换状态状态切换快捷键 存在缺陷
        • 只有当聚焦到输入框时,微软输入法才能正常切换输入法状态
        • 这可能会导致 InputTip 去模拟按键切换输入法状态时切换失效
        • 大写锁定除外,因为它是通过模拟输入CapsLock 按键实现,不受其他影响
    • 美式键盘 ENG

      • 指定窗口自动切换状态状态切换快捷键 存在缺陷
        • 它只有英文状态和大写锁定这两种输入法状态
        • 因此,只有英文状态和大写锁定的输入法状态切换有效
    • 冰凌输入法

    • 手心输入法: 使用 Shift 切换中英文状态无法正常识别,需要参照下方的使用方式

      • 首先,确保输入法状态正确
        • 通过 Shift 将输入法状态切换为中文,然后不再使用 Shift 切换状态(此时可以在手心输入法设置中关闭 Shift 切换功能)
        • 后续只能使用 Ctrl + Space 进行中英文状态切换,否则状态识别有误
      • 其次,修改 InputTip 的配置
        • 托盘菜单 => 输入法相关 => 输入法状态的切换方式,选择 模拟输入 Ctrl + Space
    • 小鹤音形输入法

    • 小小输入法

    • 华宇拼音输入法

    • 影子输入法

      • 需要关闭影子输入法中的 tsf
      • 在键盘布局中,选择一个能正常识别状态的输入法(建议选择微信输入法搜狗输入法等)
      • 然后正常使用影子输入法即可
    • 可可五笔

    • 谷歌输入法

    • ...

  • 自定义

    • 一个万能的模式,根据规则列表依次匹配,需要根据实际情况添加一条或多条规则

    • 详情参考: 关于【自定义】模式

    • 可以通过 输入法相关 => 自定义 使用以下已知可用的规则配置:

      • 配置项 默认状态 选择 英文状态

      • 小狼毫(rime)输入法

        • 经过测试,v0.17.0 版本中,添加以下规则即可

          顺序 状态码规则 切换码规则 输入法状态
          1 奇数 中文状态
      • 讯飞输入法

        • 经过测试,v3.0 版本中,添加以下规则即可

          顺序 状态码规则 切换码规则 输入法状态
          1 偶数 中文状态
      • 小鹤音形

        • 经过测试,v10.13.0 版本中,添加以下规则即可

          顺序 状态码规则 切换码规则 输入法状态
          1 1025 中文状态

参考项目


Powered by DartNode

About

一个输入法状态管理工具: 实时提示(鼠标方案/符号方案) + 状态切换(窗口触发/热键触发)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /