Autohotkey 自动热键:重新映射ctrl+;{

Autohotkey 自动热键:重新映射ctrl+;{,autohotkey,Autohotkey,我希望ctrl+{用作主键。 这不起作用: ^{::Send {Home} 我想{需要逃走吗 这也不起作用:(它在加载脚本时生成错误) 正确的方法是什么?您可以使用列出的步骤查找{的扫描代码和虚拟键代码,然后在热键定义中使用这些(SCnnn或VKnn) 尽管这样做有效,我还是很好奇为什么^{不适用于您的布局,所以我尝试使用它,看看AHK的关键历史记录是否显示了{,确实如此。我查看了AHK的源代码以了解发生了什么,我认为这取决于调用的返回值{您的布局是0x0634,即AltGr+4。在此之前,我

我希望ctrl+{用作主键。 这不起作用:

^{::Send {Home}
我想{需要逃走吗

这也不起作用:(它在加载脚本时生成错误)


正确的方法是什么?

您可以使用列出的步骤查找
{
的扫描代码和虚拟键代码,然后在热键定义中使用这些(
SCnnn
VKnn


尽管这样做有效,我还是很好奇为什么
^{
不适用于您的布局,所以我尝试使用它,看看AHK的关键历史记录是否显示了
{
,确实如此。我查看了AHK的源代码以了解发生了什么,我认为这取决于调用的返回值{您的布局是0x0634,即AltGr+4。在此之前,我没有注意到AltGr+4、AltGr+5和AltGr+9都在您的布局中生成{,所以我尝试了
^{
再次热键,并确保它使用AltGr+4触发。因此,似乎是这样的:即使多个组合映射到某个字符,也只能返回其中一个。在.klc文件中,第一次出现左括号的位置将是
VkKeyScanEx
返回的组合。我不知道您是否使用AltGr组合来处理{,但是如果你从布局中删除它们,
^{
热键应该只适用于Ctrl+{。

第一个是正确的语法。你如何在键盘上键入
{
?在我的键盘上是Shift+[所以要执行热键,我实际上必须键入Ctrl+Shift]+[.如果对你来说也是一样,并且你不想按shift键,你可以使用
^[/code>。我可以键入{而不使用shift键或alt键。请尝试列出的步骤,并使用生成的虚拟键代码(
VKnn
)为
{
制作热键。旁注,你使用的键盘布局是什么(猜测Dvorak程序员或拉丁美洲)?谢谢。这很有效:
^SC028::Send{Home}
。我有一个自定义布局()。也许这就是问题所在。如果你回答你的评论,我会接受。再次感谢!谢谢!我有多个评论是正确的{我的布局上的键。问题是普通azerty和Apple azerty的某些字符位置不同,我尝试与所有布局兼容,并且我还使用{等更改了一些未使用的键以加快编码速度。但它与扫描代码一起工作,因此我对解决方案感到满意。
^{{}::Send {Home}