814,8 → 814,6 |
|
align 16 |
mouse: |
cmp dword[active_screen],0 |
jg event |
mov eax,SF_MOUSE_GET |
mov ebx,SSF_BUTTON_EXT |
int 0x40 |
837,17 → 835,19 |
mov bx, font_height |
div bx |
movzx edx,ax |
dec edx ;¢¥àåïï à ¬ª |
dec edx ;§ £®«®¢ª¨ |
shr eax,16 |
|
cmp edx, 0 |
jl .no_ch_pos |
mov ebx, [cur_height] |
sub ebx, 3 |
dec ebx |
cmp edx, ebx |
je .on_panel |
sub ebx, 7-3 |
cmp dword[active_screen],0 |
jg event ;.on_edit |
cmp edx, 2 |
jl .no_ch_pos |
dec edx ;¢¥àåïï à ¬ª |
dec edx ;§ £®«®¢ª¨ |
sub ebx, 7-1 |
cmp edx, ebx |
jge .no_ch_pos |
|
912,13 → 912,57 |
align 4 |
.on_panel: |
call get_keybar_ind |
lea eax, [panels_mouse+4*eax] |
lea eax, [mouse_panels+4*eax] |
cmp [active_screen_keybar], keybar_viewer |
jne @f |
add eax, mouse_viewer-mouse_panels |
@@: |
cmp [active_screen_keybar], keybar_editor |
jne @f |
add eax, mouse_editor-mouse_panels |
@@: |
cmp dword[eax], 0 |
je event |
|
mov ebx, [active_screen] |
mov ebp, [screens] |
mov ebp, [ebp+ebx*8+4] |
|
cmp dword[active_screen],0 |
jne @f |
mov ebp, [active_panel] |
mov ecx, [ebp + PanelData.index] |
call dword[eax] |
@@: |
push dword[eax] |
sub eax, mouse_panels |
shr eax, 2 |
xor edx, edx |
mov ebx, 12 |
div ebx |
lea eax, [edx+0x3B] ;eax - ª®¤ ª« ¢¨è¨ F1...F12 |
pop ebx |
call ebx |
jmp event |
if 0 ;not work insert text |
align 4 |
.on_edit: |
cmp [active_screen_keybar], keybar_editor |
jne event |
cmp edx, 1 |
jl event |
push edx |
xor edx, edx |
mov ebx, font_width |
div ebx |
pop edx |
mov ebx, [active_screen] |
mov ebp, [screens] |
mov ebp, [ebp+ebx*8+4] |
mov [ebp + editor_data.cursor_x], eax |
mov [ebp + editor_data.cursor_y], edx |
call editor_OnRedraw |
jmp event |
end if |
|
;input: |
; eax - coord x |
983,22 → 1027,6 |
pop edi esi edx ecx ebx |
ret |
|
align 4 |
OnMouse_ctrl_f3_9: |
sub eax, panels_mouse.ctrl+8 |
shr eax, 2 |
add eax, 0x3D |
call panels_OnKey.ctrl_f3_9 |
ret |
|
align 4 |
OnMouse_alt_f1_2: |
sub eax, panels_mouse.alt |
shr eax, 2 |
add eax, 0x3B |
call panels_OnKey.alt_f1_2 |
ret |
|
align 16 |
process_ctrl_keys: |
cmp byte [esi], 0 |
5744,6 → 5772,7 |
mov [bSilentFolderMode], 0 ; leave silent mode |
ret |
|
align 4 |
highlight_init: |
pushad |
mov ebp, eax |
5812,6 → 5841,7 |
popad |
ret |
|
align 4 |
compare_name: |
test byte [esi], 10h |
jnz .1dir |
5853,6 → 5883,7 |
stc |
ret |
|
align 4 |
strcmpi: |
push eax |
@@: |
5866,6 → 5897,7 |
pop eax |
ret |
|
align 4 |
compare_ext: |
test byte [esi], 10h |
jnz .1dir |
5897,6 → 5929,7 |
stc |
ret |
|
align 4 |
compare_ext_rev: |
test byte [esi], 10h |
jnz .1dir |
5928,6 → 5961,7 |
stc |
ret |
|
align 4 |
seek_ext: |
push eax |
xor eax, eax |
5947,6 → 5981,7 |
pop eax |
ret |
|
align 4 |
compare_modified: |
test byte [esi], 10h |
jnz .1dir |
5979,6 → 6014,7 |
stc |
ret |
|
align 4 |
compare_modified_rev: |
test byte [esi], 10h |
jnz .1dir |
6012,6 → 6048,7 |
stc |
ret |
|
align 4 |
compare_size: |
test byte [esi], 10h |
jnz .1dir |
6044,6 → 6081,7 |
stc |
ret |
|
align 4 |
compare_size_rev: |
test byte [esi], 10h |
jnz .1dir |
6077,6 → 6115,7 |
stc |
ret |
|
align 4 |
compare_unordered: |
cmp esi, edi |
ret |
6084,6 → 6123,7 |
cmp edi, esi |
ret |
|
align 4 |
compare_created: |
test byte [esi], 10h |
jnz .1dir |
6116,6 → 6156,7 |
stc |
ret |
|
align 4 |
compare_created_rev: |
test byte [esi], 10h |
jnz .1dir |
6149,6 → 6190,7 |
stc |
ret |
|
align 4 |
compare_accessed: |
test byte [esi], 10h |
jnz .1dir |
6181,6 → 6223,7 |
stc |
ret |
|
align 4 |
compare_accessed_rev: |
test byte [esi], 10h |
jnz .1dir |
6214,6 → 6257,7 |
stc |
ret |
|
align 4 |
ReadFolder_default: |
mov eax, 2 |
ret 10h |
7555,8 → 7599,9 |
db 'dfghjkl;',27h,'`',0,'\zxcv' |
db 'bnm,./',0,0,0,' ',0,0,0,0,0,0 |
|
;â ¡«¨æë äãªæ¨©: mouse_panels, mouse_viewer ¨ mouse_editor ¤®«¦ë ¡ëâì à冷¬ ¤àã£ á ¤à㣮¬ |
align 4 |
panels_mouse: |
mouse_panels: |
dd 0 ;f1 |
dd 0 ;f2 |
dd panels_OnKey.f3 |
7565,7 → 7610,9 |
dd 0 ;f6 |
dd panels_OnKey.f7 |
dd panels_OnKey.f8 |
dd 0,0,0 ;f9-f11 |
dd 0 |
dd exit ;f10 |
dd 0 |
dd F12 |
; Shift |
rd 4 |
7574,14 → 7621,14 |
.ctrl: |
rd 2 |
repeat 9-3+1 |
dd OnMouse_ctrl_f3_9 |
dd panels_OnKey.ctrl_f3_9 |
end repeat |
rd 3 |
; Ctrl+Shift |
rd 12 |
.alt: |
dd OnMouse_alt_f1_2 |
dd OnMouse_alt_f1_2 |
dd panels_OnKey.alt_f1_2 |
dd panels_OnKey.alt_f1_2 |
rd 4 |
dd panels_OnKey.alt_f7 |
rd 5 |
7592,6 → 7639,61 |
; Alt+Ctrl+Shift |
rd 12 |
|
mouse_viewer: |
rd 1 |
dd viewer_OnKey.f2 |
dd viewer_OnKey.exit ;f3 |
dd viewer_OnKey.f4 |
rd 2 |
dd viewer_OnKey.f7 |
dd viewer_OnKey.f8 |
rd 1 |
dd viewer_OnKey.exit ;f10 |
rd 1 |
dd F12 |
; Shift |
rd 6 |
dd viewer_OnKey.shift_f7 |
rd 5 |
; Ctrl |
rd 12 |
; Ctrl+Shift |
rd 12 |
; Alt |
rd 12 |
; Alt+Shift |
rd 12 |
; Alt+Ctrl |
rd 12 |
; Alt+Ctrl+Shift |
rd 12 |
|
mouse_editor: |
rd 1 |
dd editor_OnKey.f2 |
rd 4 |
dd editor_OnKey.f7 |
rd 2 |
dd editor_OnKey.exit_confirm ;f10 |
rd 1 |
dd F12 |
; Shift |
rd 6 |
dd editor_OnKey.shift_f7 |
rd 5 |
; Ctrl |
rd 12 |
; Ctrl+Shift |
rd 12 |
; Alt |
rd 12 |
; Alt+Shift |
rd 12 |
; Alt+Ctrl |
rd 12 |
; Alt+Ctrl+Shift |
rd 12 |
|
; « ¢¨èë¥ á®ç¥â ¨ï |
; db scancode, reserved |
; dw ctrlstate |