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

如何使用 AutoHotkey 交换冒号键和斜杠键?

如何解决如何使用 AutoHotkey 交换冒号键和斜杠键?

搜索了几个小时,但找不到将 : 与它的移位键 / 交换的方法。我是 AutotHotkey 的新手。有人可以帮我吗?

colon key with slash (shifted)

解决方法

从评论中回答更新的问题:

布局是法式AZERTY。布局有一个 : 键,如果它被移动,它会发送 /。这些应该交换,所以不移位会发送 /,而移位会发送 :

所以诀窍是在检测到其他密钥时发送另一个密钥。像这样:

#UseHook

:::SendInput,/
/::SendInput,:

使用键盘钩子 #UseHook(docs) 对于使热键不会相互触发很重要。
通常,这可以使用 $(docs) 前缀完成,但由于语法错误,$::: 会作为语法错误出现。

另外,为什么不能使用简单的重映射语法?

:::/
/:::

这是因为重映射语法使用了盲发送模式(docs),这会导致 shift 修饰符通过,并且您最终总是得到键的 shift 变体。

从技术上讲,您可以像这样为第一个热键使用重映射语法:

:::/
/::SendInput,:

这也不需要您使用键盘钩子,因为在重新映射语法中使用了 DownR(docs)

,

由于我们这里不能使用典型的重映射序列(即 ::),我们可以改为使用 Hotkey command 来检测何时按下冒号,然后将其重映射到 {{3} }

Hotkey,:,ColonDetected
return

ColonDetected:
Send,/

根据 AHK 论坛中的 label 回答:this post

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