2009-11-12 78 views
0

我需要製作一個動畫,當用戶按住一個按鍵時會加速,並在釋放按鍵時恢復到正常速度。我不能「等待」用戶像大多數DOS和BIOS中斷那樣輸入一個鍵,因爲它會停止動畫。x86彙編鍵盤輸入沒有INT

我試過使用選項01H INT 16H,它在沒有暫停程序的情況下工作,但它也沒有清除鍵盤緩衝區;因此即使密鑰被釋放,動畫也會保持加速,因爲密鑰保留在緩衝區中。

我在想,如果我可以手動訪問鍵盤緩衝區的內存位置,我可以自己檢索並刪除它。但遺憾的是我不知道該怎麼做。任何幫助將不勝感激。

回答

1

使用的端口060h的單元,讓按鍵&發佈狀態有

-1

沒有與此多個問題。你不能掃描端口0x60主要是因爲相同的端口與鼠標共享。首先,您需要掃描端口0x64,確定它是鍵盤還是鼠標。這甚至沒有設置PS/2接口和初始化每個不同的鍵盤驅動程序(可能不是必需的,但它使過程更流暢)

只要去與BIOS,如果你不看OSDev's Instructions