繁体   English   中英

是否可以通过编程方式禁用 Windows 上的 Caps Lock 键?

[英]Is it possible to programmatically disable the Caps Lock key on Windows?

Caps Lock 键让我抓狂——我从来没有故意使用它,但有时不小心按下了它而不是 TAB。 我目前的解决方案是用螺丝刀卸下按钮(没有损坏,如果需要可以放回去)。

有没有办法在 Windows 上以编程方式禁用 Caps Lock 键 - 编写一个带有键盘钩子或类似东西的程序? 我从哪说起呢?

要在Windows 2000或Windows XP计算机上重新映射大写锁定(不安装软件),我调整了如何将AltGr键全局映射到Alt键的信息? 如下。 将Caps映射为null是其中一个示例,但您可以像我一样选择另一个映射到的键。 要将caps映射为null,注册表文件是:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00, 00,00,00,00, 02,00,00,00, 1d,00,00,00, 00,00,00,00

将其保存为filename.reg并执行,然后重新启动(或注销并重新登录)。

我根据Tomas Sedovic在该页面的答案以及Ronald Blaschke推荐的Windows扫描代码映射器的答案。 我介绍了空格,让我/你看看如何将字节分组为单词。

请注意,我实际上使用它将Caps映射到Ctrl,而我的第二组到最后一组数字是“1d,00,3a,00”,我确认这很好。

问题如何制作自定义键盘布局? 介绍如何更改Caps Lock键的功能。

这不是以编程方式完成的,但我相信 OP,或者更可能是其他用户,会发现我找到的解决方案要容易得多; 因此,更可取。

有方便的实用程序,或可以导入的注册表项的导出以完全禁用它,但是一旦出现在蓝色月亮中,我确实想输入很多大写字母; 所以我不想完全禁用它。 我终于想出了一个似乎运行良好的脚本。 我制作的任何脚本都无法阻止它通过一些神秘的意外组合(在早期的 M$ ergo kb 上)打开,所以我决定将 map 设置为我从未使用过的击键。 下面将其重新映射到 <Ctrl-Pause/Break>。 该键和弦通常不执行任何操作,但会通过以下脚本打开。 希望它不会因此而意外转动; 否则我将只禁用注册表中的密钥:

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

; Disable CapsLock and Shift-CapsLock combinations
CapsLock::
+CapsLock::
+^CapsLock::
^CapsLock::

; Uncomment the following lines to also disable the Left Windows Key
;LWin::
;return

; Define the Ctrl-Pause/Break shortcut
^CtrlBreak::
SetCapsLockState % !GetKeyState("CapsLock", "T")
return

我不希望它干扰暂停/中断键的正常使用(这在 Windows 中几乎没有)。 您也可以使用 AutoHotKey 将其编译成 compact.exe。 我很快发现 Shift、Ctrl 和 CapsLock 的其他组合也会触发 CapsLock,但在代码中修复它并使用几天后,它的功能完美无缺。 我不确定在 AHK 中完全禁用 CapsLock 键是否也会在由另一个键和弦触发时禁用 CapsLock state,所以我只是陷入了这些 CapsLock 触发组合。 我已经停止使用错误的 CapsLock 触发器,但 CAPS LOCK 仍然很容易 go 得到;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM