Ctrl2Cap v 2。0

依 Mark Russinovich

發行日期:2006年11月1日

下載下載 CTRL2CAP (48 KB)

簡介

Ctrl2cap 是一種核心模式設備磁碟機,可篩選系統的鍵盤類別驅動程式,以便將 caps-lock 字元轉換為控制字元。 從 UNIX 遷移至 NT 的人,會用來控制索引鍵,也就是在標準 PC 鍵盤上放置 caps lock 鍵的位置,所以像這樣的公用程式很重要,因此我們的編輯工作是不可或缺的。

安裝和使用

從您已解壓縮 Ctrl2cap 檔的目錄,安裝 Ctrl2cap 執行 "Ctrl2cap/install" 命令。 卸載 "ctrl2cap/uninstall" 類型。

Ctrl2cap 的運作方式

NT 4 Ctrlcap 真的很簡單。 它只會將自己附加至鍵盤類別驅動程式,使其能夠攔截鍵盤讀取要求。 針對每個要求,它會張貼 i/o 完成回呼,此時會查看所傳回的 scancode。 如果正好是 caps lock,ctrl2cap 會將它變更為左方控制項。

在 Win2K Ctrl2cap 上,有一個 WDM 濾波器驅動程式,該驅動程式會將鍵盤類別裝置的堆疊中的圖層分層類別裝置上方。 這與可在 i8042 埠裝置和鍵盤類別裝置之間階層式 Win2K DDK kbfiltr 範例相反。 我選擇在鍵盤類別裝置之上分層,有幾個原因:

  • 這表示 Ctrl2cap IRP_MJ_READ 攔截和操作程式碼會在 NT 4 和 Win2K 版本之間共用。
  • 我不需要提供 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
  • 檢查 Windows NT 檔案系統」,依 Mark Russinovich、 dr. Dobb 的日誌、1997年2月
  • 隨附的檔案系統篩選器驅動程式, Filemon

下載下載 CTRL2CAP (48 KB)

執行于:

  • 用戶端: Windows Vista 和更新版本。
  • 伺服器: Windows server 2008 和更新版本。