Numlock patch (hpsolo)
This commit is contained in:
@@ -202,12 +202,7 @@ GUIgetcurrentinput:
|
|||||||
GUIqcheckkeys2 [pl1Ak],7
|
GUIqcheckkeys2 [pl1Ak],7
|
||||||
.nopad1
|
.nopad1
|
||||||
xor al,al
|
xor al,al
|
||||||
; GUIgetprkeys 72,72
|
|
||||||
; GUIgetprkeys 80,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
; GUIgetprkeys 05Ch,75
|
|
||||||
; GUIgetprkeys 05Eh,77
|
|
||||||
|
|
||||||
GUIgetprkeys 90,90 ; UP
|
GUIgetprkeys 90,90 ; UP
|
||||||
GUIgetprkeys 96,96 ; DOWN
|
GUIgetprkeys 96,96 ; DOWN
|
||||||
GUIgetprkeys 92,92 ; LEFT
|
GUIgetprkeys 92,92 ; LEFT
|
||||||
@@ -221,12 +216,13 @@ GUIgetcurrentinput:
|
|||||||
GUIgetprkeys 80,80 ; KP2
|
GUIgetprkeys 80,80 ; KP2
|
||||||
GUIgetprkeys 75,75 ; KP4
|
GUIgetprkeys 75,75 ; KP4
|
||||||
GUIgetprkeys 77,77 ; KP6
|
GUIgetprkeys 77,77 ; KP6
|
||||||
|
|
||||||
GUIgetprkeys 71,71 ; KP7
|
GUIgetprkeys 71,71 ; KP7
|
||||||
GUIgetprkeys 79,79 ; KP9
|
GUIgetprkeys 79,79 ; KP9
|
||||||
GUIgetprkeys 81,81 ; KP1
|
GUIgetprkeys 81,81 ; KP1
|
||||||
GUIgetprkeys 73,73 ; KP3
|
GUIgetprkeys 73,73 ; KP3
|
||||||
%else
|
%else
|
||||||
|
; GUIgetprkeys 72,72
|
||||||
|
; GUIgetprkeys 80,80
|
||||||
GUIgetprkeys 75,75
|
GUIgetprkeys 75,75
|
||||||
GUIgetprkeys 77,77
|
GUIgetprkeys 77,77
|
||||||
GUIgetprkeys 71,71
|
GUIgetprkeys 71,71
|
||||||
@@ -249,8 +245,6 @@ GUIgetcurrentinput:
|
|||||||
; cmp byte[OSPort],3
|
; cmp byte[OSPort],3
|
||||||
; jne near .notwinport2
|
; jne near .notwinport2
|
||||||
|
|
||||||
; GUIgetprkeys 0C8h,72
|
|
||||||
; GUIgetprkeys 0D0h,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
GUIgetprkeys 90,90 ; UP
|
GUIgetprkeys 90,90 ; UP
|
||||||
GUIgetprkeys 96,96 ; DOWN
|
GUIgetprkeys 96,96 ; DOWN
|
||||||
@@ -270,13 +264,6 @@ GUIgetcurrentinput:
|
|||||||
GUIgetprkeys 81,81 ; KP1
|
GUIgetprkeys 81,81 ; KP1
|
||||||
GUIgetprkeys 73,73 ; KP3
|
GUIgetprkeys 73,73 ; KP3
|
||||||
|
|
||||||
; GUIgetprkeys 05Ch,92
|
|
||||||
; GUIgetprkeys 05Eh,94
|
|
||||||
; GUIgetprkeys 0C9h,73
|
|
||||||
; GUIgetprkeys 0D1h,81
|
|
||||||
; GUIgetprkeys 0C7h,71
|
|
||||||
; GUIgetprkeys 0CFh,79
|
|
||||||
|
|
||||||
GUIgetprkeys 09Ch,13 ; ENTER
|
GUIgetprkeys 09Ch,13 ; ENTER
|
||||||
%endif
|
%endif
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
@@ -537,13 +524,16 @@ GUIgetcurrentinput:
|
|||||||
jne .noenter
|
jne .noenter
|
||||||
call GUITryMenuItem
|
call GUITryMenuItem
|
||||||
.noenter
|
.noenter
|
||||||
cmp al,75
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
|
cmp al,92
|
||||||
je .leftpressed
|
je .leftpressed
|
||||||
cmp al, 92
|
cmp dword[numlockptr],1
|
||||||
|
je .noleft
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
.leftpressed
|
.leftpressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUIcrowpos],0
|
mov byte[GUIcrowpos],0
|
||||||
@@ -554,13 +544,16 @@ GUIgetcurrentinput:
|
|||||||
.left
|
.left
|
||||||
mov byte[GUIcmenupos],6
|
mov byte[GUIcmenupos],6
|
||||||
.noleft
|
.noleft
|
||||||
cmp al,77
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .rightpressed
|
cmp al,94
|
||||||
cmp al, 94
|
je .rightpressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noright
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
.rightpressed
|
.rightpressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUIcrowpos],0
|
mov byte[GUIcrowpos],0
|
||||||
@@ -571,13 +564,16 @@ GUIgetcurrentinput:
|
|||||||
.noright
|
.noright
|
||||||
cmp byte[GUIcmenupos],0
|
cmp byte[GUIcmenupos],0
|
||||||
je near .noupdown
|
je near .noupdown
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .downpressed
|
cmp al,96
|
||||||
cmp al, 96
|
je .downpressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nodown
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
.downpressed
|
.downpressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
%endif
|
%endif
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
@@ -594,13 +590,16 @@ GUIgetcurrentinput:
|
|||||||
mov [GUIcrowpos],al
|
mov [GUIcrowpos],al
|
||||||
jmp .nokey
|
jmp .nokey
|
||||||
.nodown
|
.nodown
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .uppressed
|
|
||||||
cmp al, 90
|
cmp al, 90
|
||||||
|
je .uppressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noup
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
.uppressed
|
.uppressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%endif
|
%endif
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
@@ -1105,26 +1104,32 @@ GUICheatKeys:
|
|||||||
jne .nozero
|
jne .nozero
|
||||||
ret
|
ret
|
||||||
.nozero
|
.nozero
|
||||||
cmp al,71
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .homepressed
|
cmp al,89
|
||||||
cmp al, 89
|
je .homepressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nohome
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
.homepressed
|
.homepressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
%endif
|
%endif
|
||||||
mov dword[GUIcurrentcheatcursloc],0
|
mov dword[GUIcurrentcheatcursloc],0
|
||||||
mov dword[GUIcurrentcheatviewloc],0
|
mov dword[GUIcurrentcheatviewloc],0
|
||||||
ret
|
ret
|
||||||
.nohome
|
.nohome
|
||||||
cmp al,79
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .endppressed
|
cmp al,89
|
||||||
cmp al, 89
|
je .endppressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noendp
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
.endppressed
|
.endppressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
%endif
|
%endif
|
||||||
mov eax,[NumCheats]
|
mov eax,[NumCheats]
|
||||||
@@ -1138,12 +1143,15 @@ GUICheatKeys:
|
|||||||
.posve
|
.posve
|
||||||
ret
|
ret
|
||||||
.noendp
|
.noendp
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
|
cmp al,90
|
||||||
je .up
|
je .up
|
||||||
cmp al, 90
|
cmp dword[numlockptr],1
|
||||||
|
je .noup
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%endif
|
%endif
|
||||||
.up
|
.up
|
||||||
@@ -1156,13 +1164,16 @@ GUICheatKeys:
|
|||||||
.noviewdec
|
.noviewdec
|
||||||
dec dword[GUIcurrentcheatcursloc]
|
dec dword[GUIcurrentcheatcursloc]
|
||||||
.noup
|
.noup
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .downpressed
|
|
||||||
cmp al, 96
|
cmp al, 96
|
||||||
|
je .downpressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nodown
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
.downpressed
|
.downpressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
%endif
|
%endif
|
||||||
mov ebx,[GUIcurrentcheatcursloc]
|
mov ebx,[GUIcurrentcheatcursloc]
|
||||||
@@ -1176,13 +1187,16 @@ GUICheatKeys:
|
|||||||
inc dword[GUIcurrentcheatviewloc]
|
inc dword[GUIcurrentcheatviewloc]
|
||||||
.noviewinc
|
.noviewinc
|
||||||
.nodown
|
.nodown
|
||||||
cmp al,73
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
|
cmp al,91
|
||||||
je .pageuppressed
|
je .pageuppressed
|
||||||
cmp al, 91
|
cmp dword[numlockptr],1
|
||||||
|
je .nopageup
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
.pageuppressed
|
.pageuppressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
%endif
|
%endif
|
||||||
sub dword[GUIcurrentcheatviewloc],12
|
sub dword[GUIcurrentcheatviewloc],12
|
||||||
@@ -1196,13 +1210,16 @@ GUICheatKeys:
|
|||||||
mov dword[GUIcurrentcheatcursloc],0
|
mov dword[GUIcurrentcheatcursloc],0
|
||||||
.posc
|
.posc
|
||||||
.nopageup
|
.nopageup
|
||||||
cmp al,81
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .pagednpressed
|
|
||||||
cmp al, 97
|
cmp al, 97
|
||||||
|
je .pagednpressed
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopageup
|
||||||
|
cmp al,81
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
.pagednpressed
|
.pagednpressed
|
||||||
%else
|
%else
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown
|
jne .nopagedown
|
||||||
%endif
|
%endif
|
||||||
add dword[GUIcurrentcheatviewloc],12
|
add dword[GUIcurrentcheatviewloc],12
|
||||||
@@ -1537,26 +1554,32 @@ GUICheatSearchKeys:
|
|||||||
jne .notnotequalthan
|
jne .notnotequalthan
|
||||||
mov byte[CheatCompareValue],3
|
mov byte[CheatCompareValue],3
|
||||||
.notnotequalthan
|
.notnotequalthan
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesmoveup
|
|
||||||
cmp al,90
|
cmp al,90
|
||||||
|
je .yesmoveup
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nomoveup
|
||||||
|
cmp al,72
|
||||||
jne .nomoveup
|
jne .nomoveup
|
||||||
.yesmoveup
|
.yesmoveup
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .nomoveup
|
jne .nomoveup
|
||||||
%endif
|
%endif
|
||||||
cmp byte[CheatCompareValue],0
|
cmp byte[CheatCompareValue],0
|
||||||
je .nomoveup
|
je .nomoveup
|
||||||
dec byte[CheatCompareValue]
|
dec byte[CheatCompareValue]
|
||||||
.nomoveup
|
.nomoveup
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesmovedown
|
|
||||||
cmp al,96
|
cmp al,96
|
||||||
|
je .yesmovedown
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nomovedown
|
||||||
|
cmp al,80
|
||||||
jne .nomovedown
|
jne .nomovedown
|
||||||
.yesmovedown
|
.yesmovedown
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nomovedown
|
jne .nomovedown
|
||||||
%endif
|
%endif
|
||||||
cmp byte[CheatCompareValue],3
|
cmp byte[CheatCompareValue],3
|
||||||
@@ -1594,26 +1617,32 @@ GUICheatSearchKeys:
|
|||||||
.notreturnb
|
.notreturnb
|
||||||
ret
|
ret
|
||||||
.nozero
|
.nozero
|
||||||
cmp al,71
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yeshome
|
|
||||||
cmp al,89
|
cmp al,89
|
||||||
|
je .yeshome
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nohome
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
.yeshome
|
.yeshome
|
||||||
%else
|
%else
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
%endif
|
%endif
|
||||||
mov dword[GUIcurrentchtsrccursloc],0
|
mov dword[GUIcurrentchtsrccursloc],0
|
||||||
mov dword[GUIcurrentchtsrcviewloc],0
|
mov dword[GUIcurrentchtsrcviewloc],0
|
||||||
ret
|
ret
|
||||||
.nohome
|
.nohome
|
||||||
cmp al,79
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesendp
|
|
||||||
cmp al,95
|
cmp al,95
|
||||||
|
je .yesendp
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noendp
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
.yesendp
|
.yesendp
|
||||||
%else
|
%else
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
%endif
|
%endif
|
||||||
mov eax,[NumCheatSrc]
|
mov eax,[NumCheatSrc]
|
||||||
@@ -1627,12 +1656,15 @@ GUICheatSearchKeys:
|
|||||||
.posve
|
.posve
|
||||||
ret
|
ret
|
||||||
.noendp
|
.noendp
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .up
|
|
||||||
cmp al,90
|
cmp al,90
|
||||||
|
je .up
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noup
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%endif
|
%endif
|
||||||
.up
|
.up
|
||||||
@@ -1645,13 +1677,16 @@ GUICheatSearchKeys:
|
|||||||
.noviewdec
|
.noviewdec
|
||||||
dec dword[GUIcurrentchtsrccursloc]
|
dec dword[GUIcurrentchtsrccursloc]
|
||||||
.noup
|
.noup
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesdown
|
|
||||||
cmp al,96
|
cmp al,96
|
||||||
|
je .yesdown
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nodown
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
.yesdown
|
.yesdown
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
%endif
|
%endif
|
||||||
mov ebx,[GUIcurrentchtsrccursloc]
|
mov ebx,[GUIcurrentchtsrccursloc]
|
||||||
@@ -1665,13 +1700,16 @@ GUICheatSearchKeys:
|
|||||||
inc dword[GUIcurrentchtsrcviewloc]
|
inc dword[GUIcurrentchtsrcviewloc]
|
||||||
.noviewinc
|
.noviewinc
|
||||||
.nodown
|
.nodown
|
||||||
cmp al,73
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespgup
|
|
||||||
cmp al,91
|
cmp al,91
|
||||||
|
je .yespgup
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopageup
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
.yespgup
|
.yespgup
|
||||||
%else
|
%else
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
%endif
|
%endif
|
||||||
sub dword[GUIcurrentchtsrcviewloc],12
|
sub dword[GUIcurrentchtsrcviewloc],12
|
||||||
@@ -1685,13 +1723,16 @@ GUICheatSearchKeys:
|
|||||||
mov dword[GUIcurrentchtsrccursloc],0
|
mov dword[GUIcurrentchtsrccursloc],0
|
||||||
.posc
|
.posc
|
||||||
.nopageup
|
.nopageup
|
||||||
cmp al,81
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespgdn
|
|
||||||
cmp al,97
|
cmp al,97
|
||||||
|
je .yespgdn
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopagedown
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown
|
jne .nopagedown
|
||||||
.yespgdn
|
.yespgdn
|
||||||
%else
|
%else
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown
|
jne .nopagedown
|
||||||
%endif
|
%endif
|
||||||
add dword[GUIcurrentchtsrcviewloc],12
|
add dword[GUIcurrentchtsrcviewloc],12
|
||||||
@@ -1784,13 +1825,16 @@ GUIStateSelKeys:
|
|||||||
mov [GUIcmenupos],al
|
mov [GUIcmenupos],al
|
||||||
ret
|
ret
|
||||||
.noenter
|
.noenter
|
||||||
cmp al,75
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesleft
|
|
||||||
cmp al,92
|
cmp al,92
|
||||||
|
je .yesleft
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noleft
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
.yesleft
|
.yesleft
|
||||||
%else
|
%else
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
%endif
|
%endif
|
||||||
mov ebx,[statefileloc]
|
mov ebx,[statefileloc]
|
||||||
@@ -1813,13 +1857,16 @@ GUIStateSelKeys:
|
|||||||
dec cl
|
dec cl
|
||||||
jmp .done
|
jmp .done
|
||||||
.noleft
|
.noleft
|
||||||
cmp al,77
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesright
|
|
||||||
cmp al,94
|
cmp al,94
|
||||||
|
je .yesright
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noright
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
.yesright
|
.yesright
|
||||||
%else
|
%else
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
%endif
|
%endif
|
||||||
mov ebx,[statefileloc]
|
mov ebx,[statefileloc]
|
||||||
@@ -1873,24 +1920,30 @@ GUIStateSelKeys:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
GUIResetKeys:
|
GUIResetKeys:
|
||||||
cmp al,75
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesleft
|
|
||||||
cmp al,92
|
cmp al,92
|
||||||
|
je .yesleft
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noleft
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
.yesleft
|
.yesleft
|
||||||
%else
|
%else
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUICResetPos],0
|
mov byte[GUICResetPos],0
|
||||||
.noleft
|
.noleft
|
||||||
cmp al,77
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesright
|
|
||||||
cmp al,94
|
cmp al,94
|
||||||
|
je .yesright
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noright
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
.yesright
|
.yesright
|
||||||
%else
|
%else
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUICResetPos],1
|
mov byte[GUICResetPos],1
|
||||||
@@ -1926,24 +1979,30 @@ GUIResetKeys:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
GUIStateKeys:
|
GUIStateKeys:
|
||||||
cmp al,75
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesleft
|
|
||||||
cmp al,92
|
cmp al,92
|
||||||
|
je .yesleft
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noleft
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
.yesleft
|
.yesleft
|
||||||
%else
|
%else
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUICStatePos],0
|
mov byte[GUICStatePos],0
|
||||||
.noleft
|
.noleft
|
||||||
cmp al,77
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesright
|
|
||||||
cmp al,94
|
cmp al,94
|
||||||
|
je .yesright
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noright
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
.yesright
|
.yesright
|
||||||
%else
|
%else
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUICStatePos],1
|
mov byte[GUICStatePos],1
|
||||||
@@ -1981,33 +2040,35 @@ GUIStateKeys:
|
|||||||
GUILoadKeys:
|
GUILoadKeys:
|
||||||
mov byte[ManualStatus],0
|
mov byte[ManualStatus],0
|
||||||
mov dword[ManualCPtr],GUILoadTextA
|
mov dword[ManualCPtr],GUILoadTextA
|
||||||
%ifdef __LINUX__
|
|
||||||
cmp dword[numlockptr],1
|
|
||||||
je near .nopagedown
|
|
||||||
%endif
|
|
||||||
cmp dword[GUIfileentries],0
|
cmp dword[GUIfileentries],0
|
||||||
je .noright
|
je .noright
|
||||||
cmp dword[GUIdirentries],0
|
cmp dword[GUIdirentries],0
|
||||||
je .noright
|
je .noright
|
||||||
cmp al,75
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesleft
|
|
||||||
cmp al,92
|
cmp al,92
|
||||||
|
je .yesleft
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noleft
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
.yesleft
|
.yesleft
|
||||||
%else
|
%else
|
||||||
|
cmp al,75
|
||||||
jne .noleft
|
jne .noleft
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
xor dword[GUIcurrentfilewin],1
|
xor dword[GUIcurrentfilewin],1
|
||||||
.noleft
|
.noleft
|
||||||
cmp al,77
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesright
|
|
||||||
cmp al,94
|
cmp al,94
|
||||||
|
je .yesright
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noright
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
.yesright
|
.yesright
|
||||||
%else
|
%else
|
||||||
|
cmp al,77
|
||||||
jne .noright
|
jne .noright
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2051,14 +2112,16 @@ GUILoadKeys:
|
|||||||
.noenter
|
.noenter
|
||||||
cmp dword[GUIcurrentfilewin],1
|
cmp dword[GUIcurrentfilewin],1
|
||||||
je near .dirwin
|
je near .dirwin
|
||||||
|
|
||||||
cmp al,71
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yeshome
|
|
||||||
cmp al,89
|
cmp al,89
|
||||||
|
je .yeshome
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nohome
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
.yeshome
|
.yeshome
|
||||||
%else
|
%else
|
||||||
|
cmp al,71
|
||||||
jne .nohome
|
jne .nohome
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2066,13 +2129,16 @@ GUILoadKeys:
|
|||||||
mov dword[GUIcurrentviewloc],0
|
mov dword[GUIcurrentviewloc],0
|
||||||
ret
|
ret
|
||||||
.nohome
|
.nohome
|
||||||
cmp al,79
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesendp
|
|
||||||
cmp al,95
|
cmp al,95
|
||||||
|
je .yesendp
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noendp
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
.yesendp
|
.yesendp
|
||||||
%else
|
%else
|
||||||
|
cmp al,79
|
||||||
jne .noendp
|
jne .noendp
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2087,12 +2153,15 @@ GUILoadKeys:
|
|||||||
.posve
|
.posve
|
||||||
ret
|
ret
|
||||||
.noendp
|
.noendp
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .up
|
|
||||||
cmp al,90
|
cmp al,90
|
||||||
|
je .up
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noup
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .noup
|
jne .noup
|
||||||
%endif
|
%endif
|
||||||
.up
|
.up
|
||||||
@@ -2106,13 +2175,16 @@ GUILoadKeys:
|
|||||||
.noviewdec
|
.noviewdec
|
||||||
dec dword[GUIcurrentcursloc]
|
dec dword[GUIcurrentcursloc]
|
||||||
.noup
|
.noup
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesdown
|
|
||||||
cmp al,96
|
cmp al,96
|
||||||
|
je .yesdown
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nodown
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
.yesdown
|
.yesdown
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nodown
|
jne .nodown
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2127,13 +2199,16 @@ GUILoadKeys:
|
|||||||
inc dword[GUIcurrentviewloc]
|
inc dword[GUIcurrentviewloc]
|
||||||
.noviewinc
|
.noviewinc
|
||||||
.nodown
|
.nodown
|
||||||
cmp al,73
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespageup
|
|
||||||
cmp al,91
|
cmp al,91
|
||||||
|
je .yespageup
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopageup
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
.yespageup
|
.yespageup
|
||||||
%else
|
%else
|
||||||
|
cmp al,73
|
||||||
jne .nopageup
|
jne .nopageup
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2148,13 +2223,16 @@ GUILoadKeys:
|
|||||||
mov dword[GUIcurrentcursloc],0
|
mov dword[GUIcurrentcursloc],0
|
||||||
.posc
|
.posc
|
||||||
.nopageup
|
.nopageup
|
||||||
cmp al,81
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespagedn
|
|
||||||
cmp al,97
|
cmp al,97
|
||||||
|
je .yespagedn
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopagedown
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown
|
jne .nopagedown
|
||||||
.yespagedn
|
.yespagedn
|
||||||
%else
|
%else
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown
|
jne .nopagedown
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2330,13 +2408,16 @@ GUILoadKeys:
|
|||||||
.maxfound dd 0
|
.maxfound dd 0
|
||||||
|
|
||||||
.dirwin
|
.dirwin
|
||||||
cmp al,71
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yeshome2
|
|
||||||
cmp al,89
|
cmp al,89
|
||||||
|
je .yeshome2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nohome2
|
||||||
|
cmp al,71
|
||||||
jne .nohome2
|
jne .nohome2
|
||||||
.yeshome2
|
.yeshome2
|
||||||
%else
|
%else
|
||||||
|
cmp al,71
|
||||||
jne .nohome2
|
jne .nohome2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2344,13 +2425,16 @@ GUILoadKeys:
|
|||||||
mov dword[GUIcurrentdirviewloc],0
|
mov dword[GUIcurrentdirviewloc],0
|
||||||
ret
|
ret
|
||||||
.nohome2
|
.nohome2
|
||||||
cmp al,79
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesendp2
|
|
||||||
cmp al,95
|
cmp al,95
|
||||||
|
je .yesendp2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noendp2
|
||||||
|
cmp al,79
|
||||||
jne .noendp2
|
jne .noendp2
|
||||||
.yesendp2
|
.yesendp2
|
||||||
%else
|
%else
|
||||||
|
cmp al,79
|
||||||
jne .noendp2
|
jne .noendp2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2365,13 +2449,16 @@ GUILoadKeys:
|
|||||||
.posve2
|
.posve2
|
||||||
ret
|
ret
|
||||||
.noendp2
|
.noendp2
|
||||||
cmp al,72
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesup2
|
|
||||||
cmp al,90
|
cmp al,90
|
||||||
|
je .yesup2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .noup2
|
||||||
|
cmp al,72
|
||||||
jne .noup2
|
jne .noup2
|
||||||
.yesup2
|
.yesup2
|
||||||
%else
|
%else
|
||||||
|
cmp al,72
|
||||||
jne .noup2
|
jne .noup2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2384,13 +2471,16 @@ GUILoadKeys:
|
|||||||
.noviewdec2
|
.noviewdec2
|
||||||
dec dword[GUIcurrentdircursloc]
|
dec dword[GUIcurrentdircursloc]
|
||||||
.noup2
|
.noup2
|
||||||
cmp al,80
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yesdown2
|
|
||||||
cmp al,96
|
cmp al,96
|
||||||
|
je .yesdown2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nodown2
|
||||||
|
cmp al,80
|
||||||
jne .nodown2
|
jne .nodown2
|
||||||
.yesdown2
|
.yesdown2
|
||||||
%else
|
%else
|
||||||
|
cmp al,80
|
||||||
jne .nodown2
|
jne .nodown2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2405,13 +2495,16 @@ GUILoadKeys:
|
|||||||
inc dword[GUIcurrentdirviewloc]
|
inc dword[GUIcurrentdirviewloc]
|
||||||
.noviewinc2
|
.noviewinc2
|
||||||
.nodown2
|
.nodown2
|
||||||
cmp al,73
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespgup2
|
|
||||||
cmp al,91
|
cmp al,91
|
||||||
|
je .yespgup2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopageup2
|
||||||
|
cmp al,73
|
||||||
jne .nopageup2
|
jne .nopageup2
|
||||||
.yespgup2
|
.yespgup2
|
||||||
%else
|
%else
|
||||||
|
cmp al,73
|
||||||
jne .nopageup2
|
jne .nopageup2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
@@ -2426,13 +2519,16 @@ GUILoadKeys:
|
|||||||
mov dword[GUIcurrentdircursloc],0
|
mov dword[GUIcurrentdircursloc],0
|
||||||
.posc2
|
.posc2
|
||||||
.nopageup2
|
.nopageup2
|
||||||
cmp al,81
|
|
||||||
%ifdef __LINUX__
|
%ifdef __LINUX__
|
||||||
je .yespgdn2
|
|
||||||
cmp al,97
|
cmp al,97
|
||||||
|
je .yespgdn2
|
||||||
|
cmp dword[numlockptr],1
|
||||||
|
je .nopagedown2
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown2
|
jne .nopagedown2
|
||||||
.yespgdn2
|
.yespgdn2
|
||||||
%else
|
%else
|
||||||
|
cmp al,81
|
||||||
jne .nopagedown2
|
jne .nopagedown2
|
||||||
%endif
|
%endif
|
||||||
mov byte[GUILoadPos],0
|
mov byte[GUILoadPos],0
|
||||||
|
|||||||
@@ -1076,12 +1076,20 @@ NEWSYM ScanCodeListing
|
|||||||
db ' " ',' ~ ','LSH',' \ ',' Z ',' X ',' C ',' V '
|
db ' " ',' ~ ','LSH',' \ ',' Z ',' X ',' C ',' V '
|
||||||
db ' B ',' N ',' M ',' , ',' . ',' / ','RSH',' * ' ; 30h
|
db ' B ',' N ',' M ',' , ',' . ',' / ','RSH',' * ' ; 30h
|
||||||
db 'LAL','SPC','CAP','F1 ','F2 ','F3 ','F4 ','F5 '
|
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 '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 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 'N 2','N 3','N 0','N .',' ',' ','OEM','F11' ; 50h
|
||||||
db 'F12','59h','5Ah','5BH','5CH','5DH','5EH','5FH'
|
db 'F12','59h','5Ah','5BH','5CH','5DH','5EH','5FH'
|
||||||
db '60H','61H','62H','63H','64H','65H','66H','67H' ; 80h
|
db '60H','61H','62H','63H','64H','65H','66H','67H' ; 80h
|
||||||
db '68H','69H','6AH','6BH','6CH','6DH','6EH','6FH'
|
db '68H','69H','6AH','6BH','6CH','6DH','6EH','6FH'
|
||||||
|
%endif
|
||||||
db '70H','71H','72H','73H','74H','75H','76H','77H' ; 90h
|
db '70H','71H','72H','73H','74H','75H','76H','77H' ; 90h
|
||||||
db '78H','79H','7AH','7BH','7CH','7DH','7EH','7FH'
|
db '78H','79H','7AH','7BH','7CH','7DH','7EH','7FH'
|
||||||
; Keyboard continued (Direct Input)
|
; Keyboard continued (Direct Input)
|
||||||
|
|||||||
@@ -142,9 +142,9 @@ int Main_Proc(void)
|
|||||||
if (event.key.keysym.sym == SDLK_LSHIFT ||
|
if (event.key.keysym.sym == SDLK_LSHIFT ||
|
||||||
event.key.keysym.sym == SDLK_RSHIFT)
|
event.key.keysym.sym == SDLK_RSHIFT)
|
||||||
shiftptr = 1;
|
shiftptr = 1;
|
||||||
if (event.key.keysym.mod & KMOD_NUM)
|
if (event.key.keysym.mod & KMOD_NUM)
|
||||||
numlockptr = 1;
|
numlockptr = 1;
|
||||||
else
|
else
|
||||||
numlockptr = 0;
|
numlockptr = 0;
|
||||||
if (event.key.keysym.scancode-8 >= 0) {
|
if (event.key.keysym.scancode-8 >= 0) {
|
||||||
if (pressed[event.key.keysym.scancode-8]!=2)
|
if (pressed[event.key.keysym.scancode-8]!=2)
|
||||||
@@ -157,6 +157,10 @@ int Main_Proc(void)
|
|||||||
if (event.key.keysym.sym == SDLK_LSHIFT ||
|
if (event.key.keysym.sym == SDLK_LSHIFT ||
|
||||||
event.key.keysym.sym == SDLK_RSHIFT)
|
event.key.keysym.sym == SDLK_RSHIFT)
|
||||||
shiftptr = 0;
|
shiftptr = 0;
|
||||||
|
if (event.key.keysym.mod & KMOD_NUM)
|
||||||
|
numlockptr = 0;
|
||||||
|
else
|
||||||
|
numlockptr = 1;
|
||||||
if (event.key.keysym.scancode-8 >= 0)
|
if (event.key.keysym.scancode-8 >= 0)
|
||||||
pressed[event.key.keysym.scancode-8]=0;
|
pressed[event.key.keysym.scancode-8]=0;
|
||||||
break;
|
break;
|
||||||
@@ -279,8 +283,10 @@ void ProcessKeyBuf(int scancode)
|
|||||||
int vkeyval;
|
int vkeyval;
|
||||||
|
|
||||||
if (((scancode>='A') && (scancode<='Z')) ||
|
if (((scancode>='A') && (scancode<='Z')) ||
|
||||||
((scancode>='a') && (scancode<='z')) || (scancode==27) ||
|
((scancode>='a') && (scancode<='z')) ||
|
||||||
(scancode==32) || (scancode==8) || (scancode==13) || (scancode==9)) {
|
(scancode==SDLK_ESCAPE) || (scancode==SDLK_SPACE) ||
|
||||||
|
(scancode==SDLK_BACKSPACE) || (scancode==SDLK_RETURN) ||
|
||||||
|
(scancode==SDLK_TAB)) {
|
||||||
accept=true; vkeyval=scancode;
|
accept=true; vkeyval=scancode;
|
||||||
}
|
}
|
||||||
if ((scancode>='0') && (scancode<='9')) {
|
if ((scancode>='0') && (scancode<='9')) {
|
||||||
|
|||||||
Reference in New Issue
Block a user