Ctrl2Cap v2.0
作者:Mark Russinovich
发布时间: 2006 年 11 月 1 日
下载 Ctrl2Cap (48 KB)
简介
Ctrl2cap 是一个内核模式设备驱动程序,用于筛选系统的键盘类驱动程序,以便将 caps-lock 字符转换为控制字符。 像我一样,从UNIX迁移到 NT 的人习惯于将控制键置于标准电脑键盘上的控制键,因此,这样的实用工具对于编辑福祉至关重要。
安装和使用
从解压缩 Ctrl2cap 文件的目录中安装运行命令“ctrl2cap /install”。 若要卸载类型“ctrl2cap /uninstall”。
Ctrl2cap 的工作原理
在 NT 4 Ctrlcap 上,实际上相当微不足道。 它只需将自身附加到键盘类驱动程序,以便捕获键盘读取请求。 对于每个请求,它会发布 I/O 完成回调,此时它会查看正在返回的扫描代码。 如果它碰巧是 caps-lock,ctrl2cap 会将其更改为左控件。
在 Win2K Ctrl2cap 上,是一个 WDM 筛选器驱动程序,该驱动程序层位于键盘类设备的键盘类设备的堆栈上方。 这与 Win2K DDK 的 kbfiltr 示例形成鲜明对比,该示例在 i8042 端口设备和键盘类设备之间分层。 出于多种原因,我选择在键盘类设备顶部分层:
- 这意味着在 NT 4 和 Win2K 版本之间共享 Ctrl2cap IRP_MJ_READ拦截和操作代码。
- 我不需要提供 INF 文件,让用户通过 设备管理器 安装 Ctrl2cap - 我只需修改相应的注册表值 (键盘类设备的 HKLM\System\CurrentControlSet\Control\Class UpperFilters 值) 。
我的方法的缺点是 (,这是一个优点或缺点,具体取决于你的观点) :
- 由于我未通过 设备管理器 安装 INF 文件,因此不会警告用户 Ctrl2cap 驱动程序文件未由 Microsoft 进行数字签名。
在这种情况下,我觉得优势超过了缺点。 但是,在 Ctrl2cap 上为 Win2K 键盘筛选器建模之前,我强烈建议你研究 Win2K DDK 中的 kbfiltr 示例。 Kbfiltr 在键输入序列中的拦截点使 kbfiltr 可以轻松地将击键注入输入流。
更多信息
有关编写筛选器驱动程序的详细信息, (附加到其他驱动程序的驱动程序,以便他们可以看到其输入和输出) ,下面是要签出的来源:
- Windows NT和 Windows 2000 DDK 示例 \src\storage\filter\diskperf
- Windows 2000 DDK 示例 \src\input\kbfiltr
- 1997年2月,多布博士的《研究Windows NT文件系统》
- 随附的文件系统筛选器驱动程序 Filemon
下载 Ctrl2Cap (48 KB)
运行时间:
- 客户端:Windows Vista 及更高版本。
- 服务器:Windows Server 2008 及更高版本。