]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_in.c
====++++==== undid the reversion back at b6af468f5932336434d2fd956a30af42b58c20bf...
[16.git] / src / lib / 16_in.c
index 8d17c37ff27d8950ff024fc8f3f306c5fa6f0cc8..44c6aac1b04169c92e6b5bf7f6b8377235c74d3c 100755 (executable)
@@ -501,11 +501,17 @@ IN_GetJoyButtonsDB(word joy)
 static void\r
 INL_StartKbd()\r
 {\r
+       byte far *lock_key;\r
        INL_KeyHook = 0;        // Clear key hook\r
 \r
        IN_ClearKeysDown();\r
 \r
        OldKeyVect = _dos_getvect(KeyInt);\r
+\r
+       // turn off num-lock via BIOS\r
+       lock_key = MK_FP(0x040, 0x017); // Pointing to the address of the bios shift state keys\r
+       *lock_key&=(~(16 | 32 | 64)); // toggle off the locks by changing the values of the 4th, 5th, and 6th bits of the address byte of 0040:0017\r
+       OldKeyVect();   // call BIOS keyhandler to change keyboard lights\r
        _dos_setvect(KeyInt,INL_KeyService);\r
 }\r
 \r
@@ -1275,3 +1281,13 @@ boolean IN_qb(byte kee)
        if(inpu.Keyboard[kee]==true) return 1;\r
        else return 0;\r
 }\r
+\r
+ScanCode IN_GetLastScan()\r
+{\r
+       return inpu.LastScan;\r
+}\r
+\r
+ScanCode IN_GetCurCode()\r
+{\r
+       return inst.CurCode;\r
+}\r