我正在撰寫一個實模式作業系統,我想知道是否有辦法通過 BIOS 中斷讀取功能鍵、箭頭鍵、控制、alt 等鍵?感謝您提供的任何幫助。
uj5u.com熱心網友回復:
鍵盤 BIOS可以幫助您解決此問題。
像這樣的代碼
mov ah, 00h
int 16h ; -> AX
將等待按鍵并回傳輸入的 ASCII 碼AL和輸入的掃描碼AH。
對于功能鍵、箭頭等,您只需查看掃描碼,因為對于這些鍵中的大多數,ASCII 碼將為零。
要了解 ALT 鍵、CTRL 鍵或其他鍵的狀態,您可以使用功能 02h 或 12h。或者,您可以在 0040:0017h 和 0040:0018h 檢查低記憶體中的 BIOS 變數。
ps 我目前無法發表評論(瀏覽器問題)...
如果上面的代碼產生AX=1E01h它確實意味著用戶按下了CTRLA.
必須小心使用某些 ALT 組合鍵,因為回傳的代碼AX可能取決于鍵盤是 QWERTY 還是 AZERTY。
ALTA, ALTQ, ALTZ, ALTW, ALTM.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/434766.html
上一篇:如何從Struts2中的屬性檔案中獲取源路徑和替代文本值以插入影像?在Struts1中使用了altKey和srcKey
