如何在按住右Windows键(RWin)时完全禁用键盘输入?
如何在按住右Windows键(RWin)时完全禁用键盘输入?
嘿,太懂这种误按的烦躁了——AZERTY键盘上Alt Gr和右Win的位置真的容易搞混,不小心触发窗口切换或者打出多余字符,干活的节奏一下就被打断了!你之前用RWin::Return的方法已经解决了一半问题,但要实现按住右Win时完全屏蔽所有其他按键输入,可以试试下面这个AutoHotkey脚本:
; 按下右Win键时启动屏蔽逻辑 RWin:: ; 持续检测右Win键是否处于按住状态 While GetKeyState("RWin", "P") { ; 开启全键盘输入屏蔽(包括修饰键,完全符合你的需求) BlockInput, On ; 短暂休眠避免脚本占用过高CPU资源 Sleep, 10 } ; 松开右Win键后恢复正常输入 BlockInput, Off return
脚本简单说明:
- 当你按下右Win键,脚本会进入循环,只要按键还被按住,就一直保持
BlockInput, On状态,彻底屏蔽所有键盘输入。 Sleep, 10是为了让脚本不要一直占用CPU,10毫秒的间隔几乎不会影响使用体验,数值也可以根据自己的需求微调。- 一旦松开右Win键,循环立刻结束,自动执行
BlockInput, Off恢复键盘正常功能。
你之前尝试KeyWait和BlockInput没成功,大概率是没把逻辑放进循环里——KeyWait只会等待按键松开一次,而循环才能持续检测按键的按住状态,从而实现持续屏蔽的效果。
备注:内容来源于stack exchange,提问作者Gras Double
相关产品推荐
相关产品推荐

