分享闪电说使用过程中的问题:输出只有一个v字。

86 阅读3分钟

背景

最近了解到有一款语音转文字的本地运行的一个软件非常的火爆(闪电说)。

在这个软件里面呢,你可以导入语音识别的模型,语音识别模型可以在本地运行;转换你的这个语音输入,然后效果呢非常好,识别很准确,识别速度极快。

但是我遇到一个问题,就是使用这个软件,输入一句话之后,界面上只输出一个V字母。

然而,在闪电说的history里面。是可以发现它是已经被准确识别了。

定位原因

原因是我使用了2AHK的这个脚本。 脚本作用是让电脑的左alt键映射成ctrl键,左ctrl键映射成alt键。 实际代码就1行,如下:

LAlt::Ctrl

image.png

这个两个脚本对应的代码分别是他们的作用是使用管理员权限,打开1个AHK的脚本。因为如果使用管理员权限的话,他在有一些特殊情况会用不了。

代码

@echo off
PowerShell -Command "Start-Process 'C:\Program Files\AutoHotkey\AutoHotkey.exe' -ArgumentList 'C:\Users\xlu\Desktop\com-ctrl.ahk' -Verb RunAs"

实际上这个代码也非常简单,例如这个

LAlt::Ctrl

但是运行这两个脚本之后,能实现这个alt和ctrl映射的问题。

但是还存在一个问题,如标题说的那样。

键盘按键映射解决方案

  1. 微软出品的powertoys工具箱。 2. 这个工具箱功能非常强大,可以自定义一些按键的映射。但是它的权限似乎不高。通过这个映射修改之后呢,依然存在和之前一样的问题。
  2. 使用一个在github上收藏的一个开源仓库SharpKeys,它的github的star数有将近7K。

推荐的注册表修改工具:SharpKeys

SharpKeys 的主要功能是图形化地修改 Windows 注册表中的 Scancode Map 键值,从而实现按键重映射。

SharpKeys 的优点:
  • 轻量且免费: 软件本身很小巧。
  • 系统级生效: 修改是直接写入注册表的,一旦设置并重启电脑后,映射就会在系统底层生效,不需要常驻后台运行(不像 PowerToys 需要后台运行)。
  • 永久性:,因为系统级别的修改,所以呢最后无论是换什么键盘,加什么软件,它最后输出的结果都是一样的。
操作步骤(与 PowerToys 类似):
  1. 下载并安装 SharpKeys。

  2. 打开 SharpKeys,点击下方的 Add (添加) 按钮。

  3. 第一次映射:

    • 再次点击 Add (添加) 按钮。
    • 在左侧选择 Left Alt (00_38)
    • 在右侧选择 Left Control (00_1D)
  4. 第二次映射:

-   在左侧的 **Map this Key (映射此键)** 列表中选择 **Left Control (00_1D)** 。
-   在右侧的 **To this Key (到此键)** 列表中选择 **Left Alt (00_38)** 。
  1. 点击底部的 Write to Registry (写入注册表) 按钮。

  2. SharpKeys 会提示您需要 重启 (Reboot) 电脑才能使更改生效。

image.png

最后我就成功解决了闪电说的这个问题。