Numlock patch (hpsolo)

This commit is contained in:
pagefault
2001-05-09 01:35:24 +00:00
parent 622de7e59c
commit b7a73cbaa3
3 changed files with 216 additions and 106 deletions

View File

@@ -1076,12 +1076,20 @@ NEWSYM ScanCodeListing
db ' " ',' ~ ','LSH',' \ ',' Z ',' X ',' C ',' V '
db ' B ',' N ',' M ',' , ',' . ',' / ','RSH',' * ' ; 30h
db 'LAL','SPC','CAP','F1 ','F2 ','F3 ','F4 ','F5 '
%ifdef __LINUX__
db 'F6 ','F7 ','F8 ','F9 ','F10','NUM','SCR','KP7' ; 40h
db 'KP8','KP9','KP-','KP4','KP5','KP6','KP+','KP1'
db 'KP2','KP3','KP0','KP.',' ',' ','OEM','F11' ; 50h
db 'F12','HOM',' UP','PGU','LFT','5DH','RGT','END'
db 'DWN','PGD','INS','DEL','64H','65H','66H','67H' ; 80h
%else
db 'F6 ','F7 ','F8 ','F9 ','F10','NUM','SCR','N 7' ; 40h
db 'N 8','N 9','N -','N 4','N 5','N 6','N +','N 1'
db 'N 2','N 3','N 0','N .',' ',' ','OEM','F11' ; 50h
db 'F12','59h','5Ah','5BH','5CH','5DH','5EH','5FH'
db '60H','61H','62H','63H','64H','65H','66H','67H' ; 80h
db '68H','69H','6AH','6BH','6CH','6DH','6EH','6FH'
%endif
db '70H','71H','72H','73H','74H','75H','76H','77H' ; 90h
db '78H','79H','7AH','7BH','7CH','7DH','7EH','7FH'
; Keyboard continued (Direct Input)

View File

@@ -142,10 +142,10 @@ int Main_Proc(void)
if (event.key.keysym.sym == SDLK_LSHIFT ||
event.key.keysym.sym == SDLK_RSHIFT)
shiftptr = 1;
if (event.key.keysym.mod & KMOD_NUM)
numlockptr = 1;
else
numlockptr = 0;
if (event.key.keysym.mod & KMOD_NUM)
numlockptr = 1;
else
numlockptr = 0;
if (event.key.keysym.scancode-8 >= 0) {
if (pressed[event.key.keysym.scancode-8]!=2)
pressed[event.key.keysym.scancode-8]=1;
@@ -157,6 +157,10 @@ int Main_Proc(void)
if (event.key.keysym.sym == SDLK_LSHIFT ||
event.key.keysym.sym == SDLK_RSHIFT)
shiftptr = 0;
if (event.key.keysym.mod & KMOD_NUM)
numlockptr = 0;
else
numlockptr = 1;
if (event.key.keysym.scancode-8 >= 0)
pressed[event.key.keysym.scancode-8]=0;
break;
@@ -279,8 +283,10 @@ void ProcessKeyBuf(int scancode)
int vkeyval;
if (((scancode>='A') && (scancode<='Z')) ||
((scancode>='a') && (scancode<='z')) || (scancode==27) ||
(scancode==32) || (scancode==8) || (scancode==13) || (scancode==9)) {
((scancode>='a') && (scancode<='z')) ||
(scancode==SDLK_ESCAPE) || (scancode==SDLK_SPACE) ||
(scancode==SDLK_BACKSPACE) || (scancode==SDLK_RETURN) ||
(scancode==SDLK_TAB)) {
accept=true; vkeyval=scancode;
}
if ((scancode>='0') && (scancode<='9')) {