Ctrl2Cap v2.0

程序员必备!用Sysinternals的ctrl2cap彻底解决CapsLock误触问题 本文详细介绍了如何使用微软Sysinternals的ctrl2cap工具彻底解决程序员常见的CapsLock误触问题。通过驱动层实现键位重新映射,将CapsLock转换为Ctrl键,提升编码效率和流畅度。文章包含技术原理、安装指南和高级配置,是Windows开发者的实用解决方案。 阅读详情

By Mark Russinovich

Published: November 1, 2006

Introduction

Ctrl2cap is a kernel-mode device driver that filters the system's keyboard class driver in order to convert caps-lock characters into control characters. People like myself that migrated to NT from UNIX are used to having the control key located where the caps-lock key is on the standard PC keyboard, so a utility like this is essential for our editing well-being.

Ctrl2cap works on NT 4.0 and higher, as well as 64-bit Windows XP, Window Server 2003, Vista and Longhorn Server.

Installation and Use

Install Ctrl2cap running the command "ctrl2cap /install" from the directory into which you've unzipped the Ctrl2cap files. To uninstall type "ctrl2cap /uninstall".

Building Ctrl2cap

Ctrl2cap requires ntddkbd.h from the ddk/src/input/inc directory, so you must first copy that file to the ctrl2cap directory. To build a standard NT 4 driver type "buildnt4" and to build a Win2K WDM driver type "buildnt5". Output files are placed in the /release subdirectory.

How Ctrl2cap Works

On NT 4 Ctrlcap is actually quite trivial. It simply attaches itself to the keyboard class driver so that it will catch keyboard read requests. For each request, it posts an I/O completion callback, at which point it takes a peek at the scancode that is being returned. If it happens to be a caps-lock, ctrl2cap changes it into a left-control.

On Win2K Ctrl2cap is a WDM filter driver that layers in the keyboard class device's stack above the keyboard class device. This is in contrast to the Win2K DDK's kbfiltr example that layers itself between the i8042 port device and the keyboard class device. I chose to layer on top of the keyboard class device for several reasons:

•

It means that the Ctrl2cap IRP_MJ_READ interception and manipulation code is shared between the NT 4 and Win2K versions.

•

I don't need to supply an INF file and have the user go through the Device Manager to install Ctrl2cap - I simply modify the appropriate Registry value (the keyboard class devices's HKLM/System/CurrentControlSet/Control/Class UpperFilters value).

The disadvantage of my approach is (and this an advantage or disadvantage depending on your point of view):

•

Because I don't install with an INF file via the Device Manager, the user is not warned that the Ctrl2cap driver file is not digitally signed by Microsoft.

In this particular case I felt that the advantages outweigh the disadvantages. However, before you model a Win2K keyboard filter on Ctrl2cap I strongly suggest that you study the kbfiltr example from the Win2K DDK. Kbfiltr's interception point in the key input sequence makes it very easy for kbfiltr to inject keystrokes into the input stream.

More Information

For more information on writing filter drivers (drivers that attach themselves to other drivers so that they can see their input and/or output), here are sources to check out:

•

The Windows NT and Windows 2000 DDK sample /src/storage/filter/diskperf

•

The Windows 2000 DDK sample /src/input/kbfiltr

•

"Examining the Windows NT File System," by Mark Russinovich and Bryce Cogswell, Dr. Dobb's Journal, February 1997 the accompanying file system filter driver, Filemon

Download Ctrl2cap (48 KB)

5种方法在Windows上将CapsLock键重映射为Ctrl键 本文详细介绍了在Windows系统下将CapsLock键重映射为Ctrl键的五种实用方法。从最底层的注册表修改、便捷的脚本文件,到命令行工具PowerShell,再到微软官方出品的灵活工具PowerToys,以及最彻底的驱动级修改方案,全面覆盖了从新手到高级用户的不同需求,帮助用户提升键盘操作效率与舒适度。 阅读详情

相关推荐

Windows 键盘优化:将CapsLock键改造为高效Ctrl键的5种方法

本文详细介绍了在Windows系统下将CapsLock键重新映射为Ctrl键的五种实用方法,包括手动修改注册表、创建.reg脚本、使用PowerShell命令、借助Microsoft PowerToys以及驱动级方案Ctrl2Cap。文章对比了各方法的操作难度、兼容性与安全性,旨在帮助用户根据自身需求选择最佳方案,显著提升键盘操作效率与舒适度。

weixin_29250403的博客 234

[内核编程] 键盘过滤第一个例子ctrl2cap(4.1~4.4)汇总,测试

键盘过滤第一个例子ctrl2cap(4.1~4.4)汇总,测试 完整源代码 /// /// @file ctrl2cap.c /// @author wowocock /// @date 2009-1-27 /// #include <wdm.h> #include <ntddkbd.h> #includ...

weixin_30632899的博客 243

WPA/WPA2握手包破解:从CAP到HC22000格式转换与Hashcat实战指南

在无线网络安全评估中,WPA/WPA2协议是保护Wi-Fi网络的主流加密标准。其核心安全机制基于四次握手过程,通过交换随机数和预共享密钥(PSK)来生成会话密钥。为了高效验证密码强度,安全研究人员常使用离线密码破解技术,通过捕获握手包并比对哈希值来测试密码的脆弱性。这一过程在工程实践中的关键挑战在于工具链的兼容性与破解效率。随着Hashcat升级至6.0+版本,传统的CAP格式因包含大量冗余管理帧,导致加载慢、内存占用高,已不再被直接支持。取而代之的是HC22000格式,它通过优化数据结构,仅保留握手核心信

weixin_30855761的博客 421

win10将Capslock变为Ctrl

之前有使用过 Ctrl2Cap 将Capslock变为Ctrl 一直都很方便使用 管理员权限(主意一定要管理员权限哦)打开命令行运行ctrl2cap.exe会提示使用方法 usage: ctrl2cap.exe [/install | /uninstall] 安装 ctrl2cap.exe /install 卸载 ctrl2cap.exe /uninstall 但是后来在9102年某一次装机win...

summer的博客 4029

n8n 2.0解除Execute Command限制与中文汉化实战

Execute Command是低代码自动化平台中实现系统级任务调度的核心能力,其本质是通过Node.js子进程机制(child_process)安全调用Shell/Python等外部命令。在n8n 2.0架构下,该能力被Docker安全策略、seccomp沙箱及执行模式(queue/main)三重限制,默认禁用以防范RCE风险。技术价值在于打通低代码与传统运维脚本的边界,支撑ETL调度、数据库备份、API后处理等关键场景。本文聚焦n8n 2.0中文汉化版的一键部署实践,深入解析Execute Comman

cqwmy840702的博客 428

Milk-V Duo S开发板与OV5647摄像头配置指南

MIPI CSI-2接口是嵌入式视觉系统中常用的高速图像传输标准,通过差分信号传输实现低功耗、高带宽的图像数据采集。其核心原理包含时钟通道和1-4对数据通道,支持多种分辨率配置。在嵌入式开发中,正确配置CSI接口的引脚复用和I2C通信是确保摄像头正常工作的关键。以Milk-V Duo S开发板为例,该板载SG2000芯片通过灵活的GPIO复用机制支持树莓派兼容的OV5647摄像头模块,为计算机视觉和AI应用提供硬件基础。开发过程中需特别注意设备树配置和V4L2驱动加载,这些技术要点直接影响图像采集的稳定性和

weixin_33901641的博客 360

Ctrl2Cap

Ctrl2Cap是一个将CapsLock键映射为Ctrl键的实用工具。

知道的越多,不知道的越多 249

39元V851se开发板视觉应用开发全解析

边缘计算作为AIoT领域的核心技术,通过在设备端就近处理数据,显著降低了云端传输延迟和带宽消耗。V851se开发板搭载全志科技的双核Cortex-A7处理器和0.5TOPS NPU加速器,为嵌入式视觉应用提供了高性价比的硬件平台。在计算机视觉开发中,OpenCV库和MobileNetV2模型是常见的技术组合,而开发板通过MIPI CSI-2接口支持500万像素摄像头,为图像采集和处理奠定了基础。针对实际开发中的性能优化,需要特别关注NPU算力调度、内存管理和散热设计,这些因素直接影响着视觉算法在嵌入式设备上

weixin_30911451的博客 482

微软出品的实用小工具

分享一些微软出品的实用小工具,希望对大家有所帮助。 包括Sysinternals Suite程序集合、Microsoft安全扫描程序、setspn、Log Parser、Microsoft 网络监视器、数据恢复神器 Windows File Recovery、PowerToys等

4792

Ctrl2cap Keyboard Filter

Ctrl2cap Keyboard FilterExample keyboard filter driver for NT4 and Win2KCopyright (C) 1996-1999 Mark Russinovichhttp://www.sysinternals.comTo install: - Run "ctrl2cap.exe /install" from install directory - RebootTo uninstall: - Run "ctrl2cap.exe /uninstall" from install directory - RebootTo build source: - Copy ddksrcinputincntddkbd.h to sys directory - Run buildnt4.bat under NT 4 DDK to build NT 4 driver * symbols placed under symbols.nt4 * driver produced as releasectrl2cap.nt4.sys - Run buildnt5.bat under Win2K DDK to build Win2K driver * symbols placed under symbols.nt5 * driver produced as releasectrl2cap.nt5.sys

《寒江独钓》ctrl2cap问题代码

《寒江独钓》一书中键盘过滤驱动ctrl2cap疑似有问题的代码及蓝屏截图

小智音箱CAP1203检测电容按键

本文深入分析小智音箱中采用的CAP1203电容式触摸控制器技术,涵盖工作原理、核心优势、抗干扰设计及STM32实战应用,揭示其如何提升智能设备的可靠性与用户体验。

weixin_36012152的博客 1063

sysinternals程序和部分程序源码

sysinternals程序和部分程序源码 Sysinternals_Source/ AccessEnumSource filemon434 NtfsInfoSource TokenmonSource AdRestoreSource fmifs procfeatures TVcache AutologonSource FundeleteSource regmon435 VcMonSource CacheSetSource JunctionSource SDeleteSource VxDMonSource Ctrl2CapSource NetstatpSource SecDemoSource DiskExt NewSidSource ShareEnumSource SysinternalsSuite/ accesschk.exe Diskmnt.hlp PHYSMEM.EXE Reghide.exe AccessEnum.exe Diskmon.exe pipelist.exe regjump.exe AdExplorer.chm DISKMON.HLP PORTMON.CNT Regmon.exe ADExplorer.exe DiskView.exe portmon.exe REGMON.HLP ADInsight.chm DMON.SYS PORTMON.HLP RootkitRevealer.chm ADInsight.exe du.exe procexp.chm RootkitRevealer.exe adrestore.exe efsdump.exe procexp.exe sdelete.exe Autologon.exe Eula.txt ProcFeatures.exe ShareEnum.exe autoruns.chm Filemon.exe procmon.chm ShellRunas.exe autoruns.exe FILEMON.HLP Procmon.exe sigcheck.exe autorunsc.exe handle.exe psexec.exe streams.exe Bginfo.exe hex2dec.exe psfile.exe strings.exe Cacheset.exe junction.exe psgetsid.exe sync.exe Clockres.exe ldmdump.exe Psinfo.exe tcpvcon.exe Contig.exe Listdlls.exe pskill.exe tcpview.chm Coreinfo.exe livekd.exe pslist.exe Tcpview.exe ctrl2cap.amd.sys LoadOrd.exe psloggedon.exe TCPVIEW.HLP ctrl2cap.exe logonsessions.exe psloglist.exe Volumeid.exe ctrl2cap.nt4.sys movefile.exe pspasswd.exe whois.exe ctrl2cap.nt5.sys newsid.exe psservice.exe Winobj.exe dbgview.chm ntfsinfo.exe psshutdown.exe WINOBJ.HLP Dbgview.exe pagedfrg.exe pssuspend.exe ZoomIt.exe Desktops.exe pagedfrg.hlp Pstools.chm diskext.exe pdh.dll psversion.txt Diskmnt.exe pendmoves.exe RegDelNull.exe

Cap录屏工具终极指南:从零开始掌握开源屏幕录制

还在为复杂的录屏软件而烦恼吗?Cap作为一款现代化开源屏幕录制工具,以其极简设计和强大功能彻底改变了传统录屏体验。这款完全免费的工具支持Windows、macOS和Linux三大平台,让每个人都能轻松制作专业级屏幕录像。无论你是教育工作者、内容创作者还是普通用户,Cap都能满足你的录制需求。 ## 为什么选择Cap?三大核心优势解析 🚀 ### 🎯 极速启动体验 相比传统录屏软件的繁琐配置

gitblog_00826的博客 305

AI产品经理必备:Agent评测维度、指标与工程化落地指南

随着大模型从单轮问答走向复杂的Agent应用,如何科学地评测一个Agent是否真正“办成了事”,成为AI产品经理必须掌握的核心能力。与传统大模型评测关注回答质量不同,Agent评测需要综合评估任务规划、工具调用、多轮对话一致性以及失败自愈等行为。任务完成率与工具调用成功率是最关键的两个量化指标,同时还需关注延迟与Token成本等工程约束。在实际落地中,评测集的设计要覆盖业务主流程与边界场景,并通过批量回归测试与版本对比,为产品选型、算法迭代和上线决策提供数据支持。本文系统拆解了Agent评测的完整流程,帮助

weixin_29057163的博客 344

交叉熵损失函数基本概念及公式

对于二分类问题,模型的输出通常是一个标量,表示样本属于正类的概率。因此,在二分类的交叉熵损失函数中,我们只需要考虑一个概率值,即模型预测为正类的概率。具体来说,当真实标签为1时,我们关注模型预测为正类的概率;当真实标签为0时,我们关注模型预测为负类的概率。因此,二分类的交叉熵损失函数可以表示为:其中,y 表示真实标签,取值为 0 或 1;p 表示模型预测为正类的概率。而对于多分类问题,模型的输出通常是一个向量,表示样本属于各个类别的概率。因此,在多分类的交叉熵损失函数中,我们需要考虑所有类别的概率。

qlkaicx的博客 1万+

arch Linux下将esc和cap locks调换位置[更改键盘键位-CW向]

1.在终端打开xev。 按下对应的按键查看keycode。 Esc keycode = 9 Caps lock keycode = 66 2.新建一文件,keys.conf keycode 9 = Caps_Lock keycode 66 = Escape 退出图形界面,运行: loadkeys keys.conf

u010563350的博客 2541

图形化界面无限转圈?CentOS 7的SELinux避坑指南(附命令行修复实录)

本文详细解析了CentOS 7图形界面启动时无限转圈或卡在'starting switch root'的故障原因,主要与SELinux安全策略冲突有关。提供了三种修复方案:临时禁用SELinux、重装策略包和精细调整策略,并分享了长期维护建议,帮助用户平衡系统安全性与可用性。

potato的博客 799

V4L-utils 2.26 命令行实战:Ubuntu 22.04 下 3 步精准识别 USB 摄像头设备与参数

本文详细介绍了在Ubuntu 22.04系统中使用V4L-utils 2.26命令行工具精准识别和配置USB摄像头的三步实战指南。从环境准备、设备识别到参数调优,提供了完整的命令示例和自动化脚本,帮助开发者高效管理USB摄像头设备,适用于计算机视觉开发和嵌入式调试等场景。

weixin_30247307的博客 383

华为昇腾310P3+deepseek蒸馏版性能调优:FP16精度优化全记录

本文详细介绍了在华为昇腾310P3硬件环境下优化DeepSeek蒸馏版模型FP16精度的关键技术路径。通过分层量化策略、内存分配优化和并行计算配置,显著提升模型推理性能,实现83%的并发处理能力提升,同时保持98.7%的原始模型准确率。

weixin_29074409的博客 351

倍压整流电路设计

倍压整流电路利用二极管和电容的充放电特性实现电压提升,可分为二倍压、三倍压及多倍压结构。其工作原理是通过交流电正负半周交替对电容充电并叠加电压,具有结构简单、成本低的优点,但带载能力差且纹波较大。典型应用包括示波器、电蚊拍等小电流高压场景。设计时需重点考虑电容耐压、二极管选型和负载匹配,高频驱动可优化性能。该电路在低功耗高压电源中具有独特优势,但需注意安全防护与电压稳定性问题。

硬核科技 1718

hackthebox靶场记录(Cap、Connected、Reactor、Facts、WingData、Orion)

HTB靶场:Cap、Connected、Reactor、Facts、WingData、Orion,待更新

qq_43292831的博客 709

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG

RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。

2545
上一篇: LKM 注射 二
下一篇: Checking for NULL MDL Pointers(驱动安全设计)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值