--- np2/win9x/winkbd.cpp 2004/02/11 17:39:59 1.5 +++ np2/win9x/winkbd.cpp 2004/04/15 14:44:38 1.8 @@ -1,13 +1,12 @@ #include "compiler.h" #include "np2.h" #include "winkbd.h" -#include "pccore.h" -#include "iocore.h" +#include "keystat.h" #define NC 0xff -static const BYTE key106[256] = { +static UINT8 key106[256] = { // , , ,STOP, , , , ; 0x00 NC, NC, NC,0x60, NC, NC, NC, NC, // BS, TAB, , , CLR, ENT, , ; 0x08 @@ -73,7 +72,7 @@ static const BYTE key106[256] = { // , , , , , , , ; 0xf8 NC, NC, NC, NC, NC, NC, NC, NC}; -static const BYTE key106ext[256] = { +static const UINT8 key106ext[256] = { // , , ,STOP, , , , ; 0x00 NC, NC, NC, NC, NC, NC, NC, NC, // BS, TAB, , , CLR, ENT, , ; 0x08 @@ -220,6 +219,32 @@ void winkbd_keyup(WPARAM wParam, LPARAM } } +void winkbd_roll(BOOL pcat) { + + if (pcat) { + key106[0x21] = 0x36; + key106[0x22] = 0x37; + } + else { + key106[0x21] = 0x37; + key106[0x22] = 0x36; + } +} + +void winkbd_setf12(UINT f12key) { + + UINT8 key; + + f12key--; + if (f12key < (sizeof(f12keys)/sizeof(UINT8))) { + key = f12keys[f12key]; + } + else { + key = NC; + } + key106[0x7b] = key; +} + void winkbd_resetf12(void) { UINT i;