Ctrl2Cap v2.0作者:Mark Russinovich
發佈日期: 2006 年 11 月 1 日
介紹Ctrl2cap 是一種核心模式裝置驅動程式,它會篩選系統的鍵盤類別驅動程式,才能將大寫鎖定字元轉換成控制字元。其他像我一樣將 UNIX 遷移至 NT 的人習慣使用 控制鍵 (即標準 PC 鍵盤上的 Caps Lock 鍵),所以這類型的公用程式對我們編輯的工作方面是必要的。 Ctrl2cap 可以在 NT 4.0 和更新的版本,以及 64 位元 Windows XP 與 Window Server 2003 中執行。
安裝和使用將執行命令 ctrl2cap /install 的 Ctrl2cap 從目錄安裝至您已經解壓縮的 Ctrl2cap 檔案中。輸入 ctrl2cap /uninstall 進行解壓縮。如果您是在 64 位元 Windows 中執行的話,請改執行 ctrl2cap64.exe。
建置 Ctrl2capCtrl2cap 需要 ddk\src\input\inc 目錄中的 ntddkbd.h,所以您必須先將該檔案複製到 ctrl2cap 目錄。如需建置標準 NT 4 驅動程式,請輸入 buildnt4;建置 Win2K WDM 驅動程式,請輸入 buildnt5。輸出檔案則放置在 \release 子目錄下。
Ctrl2cap 如何運作NT 4 上的 Ctrlcap 實際上相當簡單。只要附加於鍵盤類別驅動程式,就能偵測鍵盤讀取要求。它針對每項要求張貼 I/O 完成回撥,並快速瀏覽傳回的掃描碼。如果剛好是大寫鎖定的設定,則 ctrl2cap 會變更為左邊的 Ctrl 鍵。 Win2K 上的 Ctrl2cap 是一種 WDM 篩選器驅動程式,在鍵盤類別裝置上鍵盤類別裝置的堆疊中進行分層。這是為了和 Win2K DDK 的 kbfiltr 範例中 i8042 連接埠裝置和鍵盤類別裝置之間加以分層,呈現對比。我選擇在鍵盤類別裝置的上方分層,原因如下:
我的方法缺點如下 (此根據每個人不同的觀點而有不同的認定):
在這個特殊的情況下,我認為其優點多過於缺點。不過,在 Ctrl2cap 上建立 Win2K 鍵盤篩選器模型之前,強烈建議先研讀 Win2K DDK 的 kbfiltr 範例。Kbfiltr 的快速鍵輸入順序的攔截點讓 kbfiltr 將按鍵插入至輸入資料流,使得使用 Ctrl2cap 來源基礎變得更加困難。
更多相關資訊如需更多有關撰寫篩選器驅動程式的資訊 (附加至其他驅動程式的驅動程式,使得他們可以看見自己的輸入及/或輸出),以下資源供做參考:
|