gpt4 book ai didi

windows - AutoHotkey 将韩语键重新映射为 Ctrl

转载 作者:可可西里 更新时间:2023-11-01 14:19:14 24 4
gpt4 key购买 nike

标准韩语键盘上的空格键旁边有两个键(每侧一个),我想将其重新映射为 Control 或 Alt 修饰符 - 这样我就可以交替使用比我的小指更强壮的手指(我是emacs 用户)。

我猜问题是它们似乎生成 KeyUp 事件,而且它们不重复键。我有一个糟糕的解决方案,涉及使用自动热键的循环。还对另一个非自由程序 KeyManager 做了类似的事情。我希望有一些更高级的技巧或解决方法(AutoHotkey、驱动程序或其他)。

;Scan Code for Hanja Key
sc1F1::
Loop 10000
{
SetKeyDelay,-1
Send {Blind}{LCtrl DownTemp}
}
SetKeyDelay,-1
Send {Blind}{LCtrl Up}
Return

按下(并按住)Hanja 的键盘 Hook 输出:

你可以看到没有 repeat 也没有 up 事件。

VK  SC  Type    Up/Dn   Elapsed Key     Window
74 03F u 0.08 F5
19 1F1 d 0.66 Hanja
74 03F d 9.58 F5

更新:

尝试过:

sc1F1 & t::Send {Blind}{LCtrl DownTemp}{t}{LCtrl Up}

结果:

在按下 Hanja+t 后,热键触发,但随后按下 ONLY t 单独执行相同的操作。 LCtrl Up 似乎没有发生。

Abe 基于 SetTimer 的重置虽然不错!感觉像是我原始代码的更优雅版本。然而,问题是延迟 - 我必须调整我的输入速度以匹配延迟。

其他经过测试的解决方案:

GetKeyState("vk19", "p") 始终在脚本加载和一次初始按下后报告 PRESSED。它永远不会打破这种状态 - 即使在我释放 key 很久之后也是如此。

KeyWait 也没有按预期工作。

sc1F1 up::traytip,, test 也不会在任意数量的按下/释放后生成托盘提示。

最佳答案

组装,

我还没有完成这个想法,但这是另一种方法吗?它会向您显示按下了哪些键(在本例中按下了回车键),但您可以创建自己的“完成”条件,然后“组合”按键以创建您的 Alt 或 Ctrl 组合。

sc038:: ; Start when (in this case) the left Alt is pressed, {LAlt} is NOT listed in the input list....
input:=""
Loop
{
Input, in, L1, {Enter}{LControl}{RControl}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}
EL=%ErrorLevel%
ToolTip, %EL% and %in% and %A_ThisHotkey%
if EL = EndKey:Enter
{
ToolTip
Sleep, 5000
Break
}
}
Return

关于windows - AutoHotkey 将韩语键重新映射为 Ctrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11924645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com