Skip to content
/ 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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InputTip

Github | Gitee

license version code size repo size created


Tip

介绍

  • 一个输入法状态管理工具:实时提示(鼠标样式、符号显示) + 窗口自动切换状态 + 快捷键切换状态

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

如果 InputTip 对你有所帮助,请考虑给它一个 Star

新的变化

常见问题

演示

demo

安装

zip 版本

Tip

  • 下载仓库的最新代码压缩包 InputTip-main.zip

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

  • 前往官网下载 InputTip.zip

  • 使用 Scoop

    scoop bucket add abyss https://github.com/abgox/abyss.git
    scoop install abyss/abgox.InputTip-zip

exe 版本

Warning

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

  • 使用 Scoop

    scoop bucket add abyss https://github.com/abgox/abyss.git
    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. 关于更新检查自定义托盘菜单图标白名单机制运行项目源代码、...

一个通过方块符号实现的有趣的配置

编译

Tip

你可以自行查看源代码并编译 InputTip

Warning

如果修改了项目代码,需要先编译 InputTip.JAB.JetBrains.ahk,再编译 InputTip.ahk

  1. 克隆项目仓库到本地

    • 完成项目克隆后,你也可以直接运行 InputTip.bat 来使用 InputTip,它等同于 zip 版本

    • Github

      git clone https://github.com/abgox/InputTip.git
    • Gitee

      git clone https://gitee.com/abgox/InputTip.git
  2. 安装 AutoHotkey v2

  3. 打开 AutoHotKey Dash

  4. 点击左边的 Compile,等待编译器下载完成

  5. 重新点击左边的 Compile

  6. src\InputTip.ahk 拖入弹出的编译窗口中

  7. 点击左下角的 Convert 完成编译

  8. 运行编译后的 InputTip.exe

卸载

  1. 取消 开机自启动: 托盘菜单 => 设置 => 开机自启动
  2. 退出: 托盘菜单 => 退出
    • 如果修改了鼠标样式,可以通过 更改配置 => 显示形式 => 1. 要不要修改鼠标样式 设置为 【否】,会尝试进行恢复
    • 如果未完全恢复,请根据弹窗提示信息进行操作
  3. 删除 目录结构及数据 中展示的相关目录即可

目录结构及数据

  • zip 版本

    • 解压后的 InputTip-main 目录
      • 启动脚本 src\InputTip.bat
      • 配置文件 src\InputTip.ini
      • 鼠标样式文件夹 src\InputTipCursor
      • 图片符号文件夹 src\InputTipSymbol
      • 其他文件或文件夹
  • exe 版本

    • 没有根目录,建议新建一个目录,将 InputTip.exe 放入其中再运行
      • 程序文件 InputTip.exe
      • 配置文件 InputTip.ini
      • 鼠标样式文件夹 InputTipCursor
      • 图片符号文件夹 InputTipSymbol

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

    • InputTip.ini 配置文件
    • InputTipCursor 鼠标样式文件夹 (如果没有修改,可以忽略)
    • InputTipSymbol 图片符号文件夹 (如果没有修改,可以忽略)
  • 如果使用 Scoop 安装 abgox/abyss 下的 InputTip-zipInputTip

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

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

关于状态提示方案

鼠标样式方案

符号显示方案

  • 根据输入法状态在输入光标附近显示不同的 符号
  • 需要搭配 符号的白名单机制 使用
  • 需要注意:
    • 此方案涉及到调用系统 DLL 获取应用窗口中的输入光标位置信息
    • InputTip 将通过 指定的光标获取模式 尝试获取到输入光标位置信息
    • 你可以通过 设置光标获取模式 显示指定应用使用哪种模式
      • 如果获取不到:
        • 符号无法显示
        • 这就只能使用 鼠标样式方案 或者 设置符号显示在鼠标附近
      • 获取到了,只是符号位置有偏差,但在此应用中,所有窗口的偏差相同:
        • 符号会显示,但符号显示的位置有偏差
        • 由于偏差相同,可以通过 偏移量设置特殊偏移量 解决
      • 获取到了,只是符号位置有偏差,且在此应用中,不同窗口的偏差不同:

Tip

Warning

  • 如果不使用 符号显示方案,不需要进行步骤 1 和 2
  • 直接从步骤 3 开始,让 InputTip 能在 IDE 中正常识别和切换输入法状态即可
  1. 安装 Microsoft OpenJDK 21

    • 使用 Scoop

      scoop bucket add abyss https://github.com/abgox/abyss.git
      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

  • 部分应用窗口可能无法准确获取到输入光标位置,会导致符号无法显示
  • 你可以使用 设置符号显示在鼠标附近 来解决此问题
  • WPS 为例
    • 使用 设置符号显示在鼠标附近,根据窗口提示,将它添加到其中,即可实现在鼠标附近显示
    • 这是一个折中的处理方案,此前的 v1 版本就一直使用它,稳定性非常好
  • InputTipSymbol\default 文件夹中包含了默认的图片符号
  • 托盘菜单更改配置 => 显示形式 => 2. 显示什么类型的符号,选择 显示图片符号 时,会显示对应的图片符号
  • 你也可以自己制作符号图片,或者将喜欢的符号图片放入 InputTipSymbol 目录下
  • 设置方法: 托盘菜单 => 更改配置 => 图片符号,在对应的下拉列表中选择图片路径
  • 如果选择第一个空白路径,则不会显示对应状态的图片符号
  • 托盘菜单更改配置 => 显示形式 => 2. 显示什么类型的符号,选择 显示方块符号 时,会在输入光标附近显示不同颜色的方块符号
  • 默认中文状态为 红色,英文状态为 蓝色,大写锁定为 绿色
  • 方块符号相关的配置: 托盘菜单 => 更改配置 => 方块符号
  • 当其中的方块符号的颜色设置修改为空时,则不会显示该状态的方块符号
    • 比如: 你只希望在中文状态下显示方块符号,那么就将 英文状态时方块符号的颜色大写锁定时方块符号的颜色 的值都设置为空
  • 托盘菜单更改配置 => 显示形式 => 2. 显示什么类型的符号,选择 显示文本符号 时,会显示对应的文本符号
  • 默认中文状态为 ,英文状态为 ,大写锁定为
  • 文本符号相关的配置: 托盘菜单 => 更改配置 => 文本符号
  • 当其中的文本字符的值为空时,则不会显示该状态的文本符号
    • 比如: 你只希望在中文状态下显示文本字符,那么就将 英文状态时的文本字符大写锁定时的文本字符 的值都设置为空

自定义鼠标样式

Tip

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

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

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

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

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

  2. 托盘菜单 => 更改配置 => 鼠标样式 => 在下拉列表中选择对应文件夹目录路径

Warning

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

兼容情况

应用窗口兼容情况

输入法兼容情况

Tip

  • InputTip 使用 【通用】【自定义】 模式兼容各类输入法,默认使用 【通用】 模式
  • 如果你对当前输入法的状态码和切换码很了解,建议直接使用 【自定义】 模式去配置规则
  • 【通用】

  • 【自定义】

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

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

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

      • 如果所有规则都不匹配,应该判断为 这个配置项选择 中文状态 (英文状态 相反)

      • 小鹤音形

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

          顺序 状态码规则 切换码规则 输入法状态
          1 257 英文
      • 小狼毫(rime)输入法

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

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

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

          顺序 状态码规则 切换码规则 输入法状态
          1 奇数 英文

参考项目

Stars

如果 InputTip 对你有所帮助,请考虑给它一个 Star

stargazer-widget

Tip

这里是 赞赏名单,非常感谢各位!

Buy Me a Coffee at ko-fi.com

赞赏支持

Powered by DartNode

About

一个输入法状态管理工具:实时提示(鼠标样式、符号显示) + 窗口自动切换状态 + 快捷键切换状态。

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project