平时一般使用win+数字键(qwer上面的那个数字键)切换软件,但是不太好按;
所以今天入手了一个数字小键盘,但是发现win+小键盘的数字键没反应,不能切换软件;
有没有办法能让win+小键盘的数字键也能切换软件呢?
已经尝试过的失败方法:利用autohotkey脚本(如下代码块所示),按下win+小键盘数字键能切换逻辑,但是松开win键后win会弹出;
所以希望有别的方法能解决,或者能完善该ahk脚本也行(不知道是延迟逻辑问题还是autohotkey优先级的问题)
; 我的代码思路就是在按下win+小键盘的数字键时,实际发出win+qwer上面的数字键
; 但是如果一直按着win键不放点击小键盘的多个数字进行多次切换的时候,一旦放开win键,就会弹出win菜单
; 但是如果使用win+qwer上面的数字键进行该操作时就不会最后弹出win菜单
; 我的改进思路是检测到按下win键+数字键后释放win键,但是不太成功
#Numpad1::
#Numpad2::
#Numpad3::
#Numpad4::
#Numpad5::
#Numpad6::
#Numpad7::
#Numpad8::
#Numpad9::
#Numpad0::
; 使用正则表达式提取数字
RegExMatch(A_ThisHotkey, "\d", match)
SendInput {Blind}{LWin Down}%match%{LWin Up}
; 强制释放物理Win键
if GetKeyState("LWin", "P")
Send {LWin Up}
return
1 个赞
#Numpad1::#1
#Numpad2::#2
#Numpad3::#3
……
直接重映射按键应该就可以了~不用写得那么麻烦……
#Numpad1::SendInput #1 ; Win+1
#Numpad2::SendInput #2 ; Win+2
#Numpad3::SendInput #3 ; Win+3
#Numpad4::SendInput #4 ; Win+4
#Numpad5::SendInput #5 ; Win+5
#Numpad6::SendInput #6 ; Win+6
#Numpad7::SendInput #7 ; Win+7
#Numpad8::SendInput #8 ; Win+8
#Numpad9::SendInput #9 ; Win+9
#Numpad0::SendInput #0 ; Win+0
如果是这样直接重新映射按键的话,会有一个问题:
就是如果你按着win键时,如果按1后不放开win键再按2,即在win键按着的情况下多次按下小键盘的数字键,最后放开win键时,会弹出win菜单。
所以我才想问有没有其他方法或者有没有办法继续改进ahk脚本来阻止弹出
(最上面的代码是我改进过的,我原始的代码也是直接重新映射按键)
我使用的 AutoHotkey 版本是 v2,系统版本是 Windows 10 22H2,
因为我的键盘没有小键盘区,所以我分别用下面的2段 AutoHotkey v2 代码尝试了一下:
; 第1段
#F1::SendInput "#1"
#F2::SendInput "#2"
; 第2段
#F1::#1
#F2::#2
发现都没有出现“在win键按着的情况下多次按下小键盘的数字键,最后放开win键时,会弹出win菜单”的问题……
或许你可以在你那边试试将数字小键盘区的按键换成其他按键,看看有没有这个问题?
另外,如果还是无法解决问题,
我此前写过关于 CapsLock 的一段 AutoHotkey v2 脚本,
或许可以作为类似的参考~
*CapsLock:: { ; 单独按下并松开 CapsLock 时才切换大小写状态,否则不切换状态
KeyWait("CapsLock") ; 等待 CapsLock 松开
If (A_ThisHotkey = "*CapsLock") ; 如果在按下 CapsLock 与松开 CapsLock 期间没有按下其它按键
SetCapsLockState(!GetKeyState("CapsLock", "T")) ; 切换 CapsLock 状态
}
CCR
5
Capsicain | Windows 下更底层的键盘布局、键位映射工具
这玩意似乎有识别numberpad的功能?可以通过他将win+numberpad映射成f20这种,然后autohotkey响应f20?
Win + 数字 切换软件,感觉手指跨度还挺大的,而且,Win + 数字 对应的软件不一致。
可以试试ETool https://etool.site
启动或者切换都可以,比如 wx- 直接用来启动微信, dp- 用来打开deepseek, db- 用来打开豆包。
主要是没有记忆负担
可能是测试问题?我这边换了个键盘试验都是会出现win后释放时弹出win菜单;
不过我刚才换了个思路,将num1这些直接指代为1就ok了
之前想复杂了;
这个可以修改Fn的映射吗,我一直想把Fn的功能区锁定键修改一下,我这个直接点击Fn就锁定功能区了,不像别的笔记本一样是用Fn+Esc锁定,太容易误触了 
但是matebook的电脑管家能够修改Fn键默认亮灯时,是使用f1~f12还是对应的功能区,这是不是意味着只是驱动上的修改?我看这个软件似乎能修改驱动层面的响应,是不是意味着能自定义?如果能自定义的话,是不是需要官方的硬件文档还是有通用的文档参考呢,还是不需要因为该软件已经帮忙处理好,只需要写逻辑就好了?
它那种好像是软件有特殊权限,可以直接修改 BIOS 设置。