使用autohotkey过滤键盘输入

时间:2013-06-10 08:26:46

标签: autohotkey

我最近打破了我的键盘,并在autohotkey中编写了一些非常简单,低效的程序来修复它们

这是我当前笔记本电脑键盘的输出:     y = ry     h = fh     n = {enter} + n     6 = 46

我目前为每个损坏的密钥运行4个autohotkey文件。以下是h

的文件

hadjust.ahk

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

while true {

KeyWait, h,D
Sleep 20
Send {BS}
Send {BS}
Send {h}


}

如何将四个.ahk文件合并为一个?还有更好的方法吗?

**编辑我找到了在一个文件中执行此操作的方法,但我无法使用n / enter键工作。

这是代码......

stackadjust.ahk

:?*:fh::h
:?*:hf::h
:?*:ry::y
:?*:yr::y
:?*:46::6
:?*:64::6
:?*:n{Enter}::n
:?*:{Enter}n::n

2 个答案:

答案 0 :(得分:2)

对于最后两个条目,您可以使用以下代码:

:*:n`n::n
:*:`nn::n

;Comment: `n = {Enter}

答案 1 :(得分:1)

如果键盘大致同时发送双键, 它可以使它们成为双热键。

这样你仍然可以输入像“愤怒”这样的词......

y & r::send, {blind}r
$y::send, {blind}y
$+y::send, {blind}Y
4 & 6::send, {blind}6
$4::send, {blind}4
$+4::send, {blind}$
f & h::send, {blind}h
$f::send, {blind}f
$+f::send, {blind}F
n & Enter::send, {blind}n
$n::send, {blind}n
$+n::send, {blind}N
$Enter::
if (A_PriorHotkey = "n") and (A_TimeSincePriorHotkey < 500)
{
  Soundbeep, 500, 200
  return
}
Send, {Enter}
return

发送“盲”(反对shift,alt和ctrl状态) 可能没有必要,但不会受到伤害。 更新:由于Enter似乎更加困难,我将删除Enter up to 最后一个n后500ms。在这种情况下,我会发出嘀咕声。