AHK怎么实现按capslock键2次后,数字键0-9变成F1-F10?

笔记本小电脑,才6寸屏,键盘太小了,没有F功能键区,可是又需要经常用,个人属于能不用鼠标就不用鼠标的类型。
目前用ahk实现了长按数字键实现F键功能区的功能,见下面的代码:

; #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.
; 单击数字输出数字,按住不放为 F1-F10
1::
	KeyWait, 1, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		1::F1
	} else {
		Send {1}
	}
Return

2::
	KeyWait, 2, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		2::F2
	} else {
		Send {2}
	}
Return

3::
	KeyWait, 3, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		3::F3
	} else {
		Send {3}
	}
Return

4::
	KeyWait, 4, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		4::F4
	} else {
		Send {4}
	}
Return

5::
	KeyWait, 5, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		5::F5
	} else {
		Send {5}
	}
Return

6::
	KeyWait, 6, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		6::F6
	} else {
		Send {6}
	}
Return

7::
	KeyWait, 7, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		7::F7
	} else {
		Send {7}
	}
Return

8::
	KeyWait, 8, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		8::F8
	} else {
		Send {9}
	}
Return

0::
	KeyWait, 0, T0.5 ; 等待 按键 松开, 等待时间0.5秒
	if ErrorLevel { ; 超时
		0::F10
	} else {
		Send {10}
	}
Return

!4::!F4
Return

但是还是想再简单点。
具体要求就是:

1、连按两下capslock键,0-9键直接映射成F1-F10键
2、再按一下capslock键,0-9再恢复原来的功能。
目前就这两个要求,然后我不会了,特来请教大家。

多少钱啊,能win7/win8.1吗(羡慕小电脑

使用#If就可以

连按两次capslock -> funcORnum:=1
按一次capslock -> 如果 funcORnum=1,则 funcORnum:=0

#If funcORnum=1
$1::Send {f1}

(下列脚本适用于 AutoHotkey_L )

SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode 2 ;窗口标题的任意位置包含 WinTitle 才能匹配.

RemoveToolTip: ; 移除 ToolTip 文字提示
	ToolTip ; 不带参数的 ToolTip 可以移除文字提示
Return

Global FnKeyEnable := 0 ; 定义一个全局变量 FnKeyEnable 表示当前状态

~CapsLock::
if (A_PriorHotkey = "~CapsLock" and A_TimeSincePriorHotkey <= 500) { ; 在按下第1次Caps Lock后的500ms内,第2次再按下Caps Lock时
	FnKeyEnable := 1 ; 1表示功能键功能开启
	ToolTip, 1—0数字键实现F1—10功能:开启 ; 在鼠标光标旁边显示文字提示
	SetTimer, RemoveToolTip, -3000 ; 3秒后使文字提示消失
}
else {
	FnKeyEnable := 0 ; 0表示功能键功能关闭
	ToolTip, 1—0数字键实现F1—10功能:关闭 ; 在鼠标光标旁边显示文字提示
	SetTimer, RemoveToolTip, -3000 ; 3秒后使文字提示消失
}
Return

#If FnKeyEnable = 1 ; 如果功能键功能开启,那么下面的热键就可以生效
1::F1
2::F2
3::F3
4::F4
5::F5
6::F6
7::F7
8::F8
9::F9
0::F10
#If ; 结束上述的#If

刚才测试了一下,
大概没有什么问题~

win10都可以,GPD的micropc。 2000多吧。

谢谢,我试一下。

谢谢,我试一下