和Insert
键Caps Lock
只是碍事。这超级用户问题询问如何禁用Insert
,但似乎适用于 Windows 7,因为它在 Windows 8.1 上对我不起作用。我已经能够Caps Lock
使用此注册表项禁用:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,3a,00,00,00,00,00
但建议的解决方案:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Value Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,52,e0,00,00,00,00
继续覆盖各种文本编辑器中的文本,即使重新启动后也是如此。为了清楚起见,我想同时禁用Caps Lock
和Insert
,最好是在单个注册表项中禁用。
答案1
您需要指定三次参赛在地图中描述键盘扫描码映射器。
例如,我在 Windows 8.1 上使用下一个重新映射(但由于经验值次):CapsLock其行为方式与 相同LShift,其功能被重新映射到ScrollLock;当然,后者的功能会丢失,即ScrollLock现在的行为方式CapsLock与所有重新映射之前相同。该重新映射在注册表中显示如下:
==> reg query "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
Scancode Map REG_BINARY 0000000000000000030000002A003A003A00460000000000
即在注册表编辑器导出方面:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,2a,00,3a,00,3a,00,46,00,\
00,00,00,00
说明:(下表包含按DWORD
列划分的这些条目(小端格式保存)并且单词是描述以十六进制表示,即交换)
00,00,00,00 ,00,00,00,00 ,03,00,00,00 ,2a,00,3a,00 ,3a,00,46,00 ,00,00,00,00
00000000 00000000 03000000 2A003A00 3A004600 00000000
│ │ │ │ │ │
│ │ │ │ │ └─ Null terminator
│ │ │ │ │
│ │ │ │ ├─ ScrollLock -> CapsLock
│ │ │ │ ╘═ 0x0046 -> 0x003A
│ │ │ │
│ │ │ ├─ CapsLock -> LShift
│ │ │ ╘═ 0x003A -> 0x002A
│ │ │
│ │ └─ Three entries in the map (including null entry)
│ │
│ └─ Header: Flags. Set to all zeroes.
│
└─ Header: Version. Set to all zeroes.
读键盘内部扫描码和 Microsoft 键盘扫描码规范键Insert扫描码值。不过我想说的0xE052
是,我看不出下一个注释的含义(应用于Insert、、Delete箭头等):
这些键可能在基本 Make 代码之前和基本 Break 代码之后有额外的“shift”和/或“unshift”扫描代码,具体取决于 Num Lock 的当前状态和 Shift 键的状态(当同时按住多个键时)。
答案2
您可能能够Insert在文本编辑器中禁用此功能。例如:
- Notepad++,设置 > 快捷方式映射器 > Scintilla 命令,更改
SCI_EDITTOGGLEOVERTYPE
为None
并单击Apply
- Visual Studio,工具>选项>环境>键盘,删除快捷键绑定
Edit.OvertypeMode
- Eclipse,Windows > Preferences > General > Keys,
Toggle Overwrite
在Text Editing
类别中找到命令并单击Unbind command
如果你知道的话,请随意扩展上面的列表主要的具有删除功能的文本编辑器Insert。