微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无论语言如何重新映射键

如何解决无论语言如何重新映射键

我想将 'H' 重新映射到 'V',而且当我输入阿拉伯语时,我想将 'ا' 重新映射到 'ر','ا' 和 'ر' 的键与'H' 和 'V' 分别。所以我试着做h:: send v;。当我用英语输入时,一切都很完美,但在阿拉伯语中,它实际上输入的是“v”而不是“ر”。

注意:我目前正在检查语言并以适当的语言发送击键,但我正在重新映射很多键,所以这有点乏味,我认为必须有更简单的方法,有更简单的方法吗?

提前致谢。

解决方法

当您执行 Send v 时,AutoHotkey 会发送一个 v 字符。但是,您不想要该字符,而是希望它按下英文键盘上的 v 键。您可以使用虚拟密钥代码执行此操作。虚拟键码背后的思想是每个码对应键盘上的一个物理键,而不是屏幕上产生什么字符。有两种方法可以实现这一点。

  1. AutoHotkey 有 special syntax 来查找和使用给定字符的虚拟键代码。您只需将字符括在花括号中,如下所示:
h::Send {v}
  1. AutoHotkey 带有 tools,可用于手动查找某个键的虚拟键代码。如果您需要按下的键没有映射到任何字符,或者 AutoHotkey 无法识别它产生的字符,这将非常有用。以下过程引用自AutoHotkey documentation
  1. 确保至少有一个使用键盘挂钩的脚本正在运行。您可以通过打开其主窗口并从菜单栏中选择“查看-> 按键历史记录”来判断脚本是否具有键盘钩子。
  2. 双击该脚本的托盘图标以打开其主窗口。
  3. 按下键盘上的“神秘键”之一。
  4. 选择菜单项“查看->密钥历史”
  5. 向下滚动到页面底部。靠近底部的地方是您的按键的按下和按下按键事件。

记下列表第一列中的 2 位数值。 V 在我的 Windows 10 计算机上为 56,但数字取决于平台。然后,您可以在发送命令中使用该 2 位虚拟键码,如下所示:

h::Send {vk56}

此语法记录在 here 中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。