鍵盤巨集程式SUPERKEY
文章推薦指數: 80 %
SuperKey 為一定義巨集鍵的程式, 使用者可依自己的喜好而將欲從鍵盤輸入的字串定義成任何鍵的組合。
如果者使用大量的巨集鍵, 則亦可設計成將命令群搜集成檔案, ...
[個人電腦的鍵盤輸入架構][規劃8042UPI晶片][鍵盤緩衝區的構造與鍵盤服務常式][ASCII碼與延伸碼][保護螢幕的SLEEP程式][鍵盤巨集程式SUPERKEY]
SuperKey為一定義巨集鍵的程式,
使用者可依自己的喜好而將欲從鍵盤輸入的字串定義成任何鍵的組合。
如果者使用大量的巨集鍵,
則亦可設計成將命令群搜集成檔案,然後於執行期再載入,
當面對不同的對象,
便可使用不同的鍵盤巨集。
程式中亦可增加檢查密碼的功能,
作為設計LockScreen之用。
如果指定的字串長度大於目前緩衝區所能容納的個數,
則Continue旗標會被設定,然後將剩餘的字串的啟始位址傳回。
注意
BufferStartOfs、BufferEndOfs、CatchHeadOfs和CatchTailOfs
等四處記錄的均是偏移位址(Offset),所參考的節區位址為0040h。
newKeyboard藉著檢查掃瞄碼,
判斷按鍵是否程式所設定的熱鍵(Hotkey);若檢查結果為是,則設定Busy
旗標以防止newKeyboard的程式碼重複進入,然後設定MacroString經由
SendBuffer送出。
SendBuffer是掛在newClock上面,所以會週期性的執行,
直到字串送完為止,因為Int08h的啟動有1/18.2秒的間隔,
所以如果指定的字串遠大於鍵盤緩衝區時,
可感覺到明顯的延遲副效應。
SendBuffer也可以掛在Int16h上,程式要求讀鍵時就送出字串,
這樣就不會有掛在newClock上的缺點,兩者的差別在於前者屬主動(硬體中斷觸發)、後者屬被動(程式呼叫)。
monitorKeyboard
中的InBios旗標主要用來監督OldInt16的動作,避免其讀取的動作與
SendBuffer的寫入動作同時進行。
newKeyboard中面臨一個大問題,當newKeyboard
先行讀取掃瞄碼作檢查分析後再呼叫OldInt09時,
其中間隔的時間可能使得第二次讀出的掃瞄碼已經與第一次不同,
這樣便使得OldInt09遺漏一些鍵,這現象在TSRPLUS也曾出現過,
如果遺漏的是移位鍵,則可能因ShiftStatus
未獲適當更新而使往後的輸入不是預期的輸入。
解決的策略有二:
其一,由newKeyboard的設計加以改變,例如checkShiftStatus
花費的時間可能使得UPI資料暫存器的值已改變,這時便不要再呼叫
OldInt09,而由程式中負責ShiftStatus的更新,就Int09
處理種種不同的按鍵而言,這項任務是相當輕鬆容易的,
這可能是某些常駐軟體常以移位鍵啟動的原因(ie.連按兩下Ctrl鍵)。
其二是由鍵盤操作者的使用上來解決,
當設定的熱鍵包含移位鍵時,移位鍵必須在整個字串送完之後再鬆開;
或者是當移位鍵的狀態與ShiftStatus記錄不符而導致鍵盤輸入失常時,
再按一下熱鍵中的移位鍵也可重設ShiftStatus而恢復鍵盤正常功能。
延伸文章資訊
- 1巨集軟體
巨集軟體 軟體名稱:Free Mouse Auto Clicker 軟體版本:3.8.6 ... 推薦軟體簡介: 鍵盤鼠標錄製回放器一套完全免費而且非常容易使用的鍵盤滑鼠錄製工具,程式分為二個 ...
- 2鍵盤巨集軟體《TinyTask》v1.76 免安裝,可錄製電腦鍵盤及滑 ...
▽ 此程式非常小,才20kb左右,而且使用簡單,只要按下Rec就可以開始錄製所有出現在螢幕上的動作,包括鍵盤上的按鍵及滑鼠的操作、連點等,可以幫助你節省 ...
- 3鍵盤巨集程式SUPERKEY
SuperKey 為一定義巨集鍵的程式, 使用者可依自己的喜好而將欲從鍵盤輸入的字串定義成任何鍵的組合。如果者使用大量的巨集鍵, 則亦可設計成將命令群搜集成檔案, ...
- 4【攻略】X-Button 獻給沒有巨集滑鼠又懶得手動卡刀的朋友
X-Mouse Button Control 提供來重設滑鼠按鍵的功能相當多,包括開啟指定應用程式、複製/剪下/貼上、控制媒體(播放/暫停/停止/音量/靜音等等)、擷取螢幕(或 ...
- 5FoxXRay - 巨集工具,又稱按鍵行為指派分為三部分 - Facebook
要開始編輯巨集時,請按下編輯工具列最左邊的`紀錄`按鍵,此時按下的鍵盤、滑鼠 ... 一次巨集(比如遊戲中轉視窗),能將驅動程式新增上"指定原按鍵才會停止的選項嗎?