【问题标题】:Emacs keyboard-shortcut sequences after CapsLock remapping with Authotkey使用 Autohotkey 重新映射 CapsLock 后的 Emacs 键盘快捷键序列
【发布时间】:2013-12-04 09:49:27
【问题描述】:

我已经使用自动热键将 CapsLock 简单地重新映射为 Control:

Capslock::Control   ; make Caps Lock the control button

这工作正常,但在 Emacs 中,如果我需要在 一直持续按住 CapsLock 键的同时执行类似 Ctrl-x Ctrl-f 的键序列,注册的是 Ctrl-x f。为了获得正确的顺序,我现在必须在击键之间释放 CapsLock,例如 Ctrl-x <release> Ctrl-f,这非常不方便。

有没有办法进行重新绑定,以便按住 CapsLock 与按住 Control 按钮完全一样?

我也尝试了以下sn-p但没有成功:

#IfWinActive ahk_class Emacs
{
CapsLock::
Sendinput {Ctrl Down}
KeyWait, CapsLock
Sendinput {Ctrl Up}
return
}

在上面使用SendSendplay 而不是Sendinput 也不能解决我的问题。

我的系统:

Windows 7 32 位 AHK v1.1.13.01 Emacs 24.3

谢谢!

【问题讨论】:

  • 只需使用不同的程序。 KeyTweak 和 sharpkeys 都是免费软件,并且有一个简单的 GUI 可以将 Caps Lock 切换为 Ctrl。
  • 好的,我试过 KeyTweak 并且它有效,唯一的问题是密钥注册的时间有时会关闭(C-x C-v C-m 总是注册为 C-x C-m C-v)。
  • 我更喜欢自动热键解决方案,但如果在赏金结束之前找不到任何解决方案,如果您将此作为正确答案提交,我会给您积分。对于时间问题的帮助也将不胜感激......
  • 我在 Windows 7 上使用 Emacs 大约一年了,我还没有遇到过这个问题。问题是我现在不记得我使用的是 KeyTweak 还是 sharpkeys。你能试试另一个,看看问题是否仍然存在?
  • 都试过了,两者的行为方式相同,即存在时间问题,也没有像C-c C-c这样注册双倍击键...

标签: windows emacs keyboard-shortcuts autohotkey


【解决方案1】:

我不确定为什么它不适合您。我将您的重新映射添加到我现有的脚本中,它似乎工作正常。你能发布更多你拥有的东西吗?我的顶部有以下命令,但我认为它们不会影响您的问题。

#Persistent
#SingleInstance, Force

命令GetKeystate SetKeyDelay 可能会有所帮助。

【讨论】:

  • 感谢您的提示...不幸的是,最初的标志没有帮助...问题仍然存在。
【解决方案2】:

这是我使用的,它有效:

*Capslock::LCtrl

星号记录在键盘控制 > 热键和热字串下的帮助中:

通配符:即使按住额外的修饰符也可以触发热键。这通常与重新映射键或按钮一起使用。例如:

*#c::运行 Calc.exe ; Win+C、Shift+Win+C、Ctrl+Win+C等都会触发这个热键。

*ScrollLock::运行记事本;即使修改键按下,按下 Scrolllock 也会触发此热键。

此符号在 Windows 95/98/ME 上被忽略。

我其实也有这个,+Caps Lock,如果我真的想要大写锁定:

<#Capslock::Capslock

【讨论】:

    【解决方案3】:

    试试这个;

    SetCapsLockState, AlwaysOff
    CapsLock:: SendInput, {LCtrl Down}
    Capslock Up:: SendInput, {LCtrl Up}
    

    【讨论】:

    • 抱歉,运气不好...与我尝试过的其他 sn-ps 的行为相同。
    • 可能是您的 capslock 键的问题。您是否尝试过将另一个键设置为 Ctrl 以查看会发生什么?
    • 几个建议,不知道对你有没有帮助。尝试关闭您正在运行的所有其他 AHK 脚本,看看是否有帮助。如果它在其他地方有效,只是在 EMACS 中无效,请尝试查看 EMACS 内置热键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 2020-09-18
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    相关资源
    最近更新 更多