2007-08-02 22:16:05 +02:00
|
|
|
|
; Detecting mouse right-clicks.
|
|
|
|
|
|
|
|
|
|
detect_start:
|
|
|
|
|
|
|
|
|
|
mov eax, 40
|
|
|
|
|
mov ebx, 00100000b
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
detect_still:
|
2007-09-20 18:35:52 +02:00
|
|
|
|
;mov eax, 10 ; <20><><EFBFBD><EFBFBD>⠥<EFBFBD> <20><> ᮢᥬ <20><><EFBFBD>४⭮, <20><>祬<EFBFBD> <20><>.
|
2007-08-02 22:16:05 +02:00
|
|
|
|
mov eax, 23
|
|
|
|
|
mov ebx, 4
|
|
|
|
|
int 0x40
|
|
|
|
|
;cmp eax, 6
|
|
|
|
|
;jne detect_still
|
|
|
|
|
|
|
|
|
|
mov eax, 37
|
2007-09-20 18:35:52 +02:00
|
|
|
|
mov ebx, 2 ; <20><><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
2007-08-02 22:16:05 +02:00
|
|
|
|
int 0x40
|
|
|
|
|
|
2007-09-20 18:35:52 +02:00
|
|
|
|
test eax, ebx ; test eax, 00000010b <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
jz detect_still ; <20><><EFBFBD> - ? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 横<> <20><>⮪<EFBFBD>
|
2007-08-02 22:16:05 +02:00
|
|
|
|
|
|
|
|
|
mouse_btn_up:
|
|
|
|
|
mov eax, 37
|
|
|
|
|
mov ebx, 2
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
test eax, ebx
|
|
|
|
|
jnz mouse_btn_up
|
|
|
|
|
|
|
|
|
|
mov eax, 37
|
|
|
|
|
xor ebx, ebx ; mov ebx, 0
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov ecx, [panel_y_pos]
|
|
|
|
|
shr ecx, 16
|
|
|
|
|
inc ecx
|
|
|
|
|
|
|
|
|
|
cmp ax, cx
|
|
|
|
|
jb detect_still
|
|
|
|
|
add ecx, 15
|
|
|
|
|
cmp ax, cx
|
|
|
|
|
ja detect_still
|
|
|
|
|
|
|
|
|
|
shr eax, 16
|
|
|
|
|
xor edx, edx ; mov edx, 1
|
|
|
|
|
inc edx
|
|
|
|
|
|
|
|
|
|
detect_button:
|
|
|
|
|
mov ebx, edx
|
|
|
|
|
imul ebx, 6 * 10
|
2007-09-20 18:35:52 +02:00
|
|
|
|
; // Alver 26.08.2007 // {
|
|
|
|
|
; add ebx, 4
|
|
|
|
|
add ebx, 64
|
|
|
|
|
; } \\ Alver \\
|
2007-08-02 22:16:05 +02:00
|
|
|
|
|
|
|
|
|
cmp eax, ebx
|
|
|
|
|
jb detect_still
|
|
|
|
|
|
|
|
|
|
add ebx, 60 - 1
|
|
|
|
|
cmp eax, ebx
|
|
|
|
|
ja @f
|
|
|
|
|
|
|
|
|
|
shl edx, 2
|
|
|
|
|
mov ecx, [app_list + edx - 4]
|
|
|
|
|
cmp ecx, -1
|
|
|
|
|
jz detect_still
|
|
|
|
|
|
|
|
|
|
mov [x_coord], ax
|
|
|
|
|
|
|
|
|
|
mov eax, 37
|
|
|
|
|
xor ebx, ebx ; mov ebx, 0
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov [y_coord], ax
|
|
|
|
|
|
|
|
|
|
mov [n_slot], ecx
|
|
|
|
|
|
2007-09-20 18:35:52 +02:00
|
|
|
|
mov eax, 9
|
|
|
|
|
mov ebx, procinfo_for_detect
|
|
|
|
|
int 0x40
|
|
|
|
|
|
2007-08-02 22:16:05 +02:00
|
|
|
|
mov eax, 51
|
|
|
|
|
mov ebx, 1
|
|
|
|
|
mov ecx, context_menu_start
|
|
|
|
|
mov edx, ctx_menu_stack
|
|
|
|
|
int 0x40
|
|
|
|
|
|
|
|
|
|
mov [ctx_menu_PID], eax
|
|
|
|
|
|
|
|
|
|
jmp detect_still
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
cmp edx, [max_applications]
|
|
|
|
|
jae detect_still
|
|
|
|
|
inc edx
|
|
|
|
|
jmp detect_button
|