加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – AutoHotkey将韩文键重新映射到Ctrl

发布时间:2020-12-14 05:36:37 所属栏目:Windows 来源:网络整理
导读:标准韩国键盘上的空格键旁边有两个键(每侧一个),我想将其重新映射为Control或Alt修饰符 – 所以我可以使用比我的小指更强的手指来替代(我是一个emacs用户) . 我猜测问题是它们似乎没有生成KeyUp事件,并且它们不像其他键那样重复.我有一个hacky解决方案,涉及
标准韩国键盘上的空格键旁边有两个键(每侧一个),我想将其重新映射为Control或Alt修饰符 – 所以我可以使用比我的小指更强的手指来替代(我是一个emacs用户) .

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

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

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

你可以看到没有重复和没有上升事件.

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 ::发送{Blind} {LCtrl DownTemp} {t} {LCtrl Up}

结果:

按下Hanja后,热键会激活,但随后仅按下ONLY t就会执行相同的动作. LCtrl Up似乎没有出现.

虽然安倍的基于SetTimer的重置很不错!感觉就像我的原始代码更优雅的版本.然而,捕获是延迟 – 我必须调整我的输入速度以匹配延迟.

其他测试方案:

GetKeyState(“vk19”,“p”)总是在脚本加载和初始按下后报告PRESSED.它永远不会打破这种状态 – 甚至在我释放钥匙后很久.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读