From 0485c4d0b89f586ecdaf1e757cc80057d7db6970 Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Sun, 15 Apr 2012 21:57:46 +0000 Subject: [PATCH] KFM - the elimination of "sticking" control key when the user clicks the system hotkey combination Ctrl+Alt+Del git-svn-id: svn://kolibrios.org@2616 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/fs/kfm/trunk/key.inc | 2 +- programs/fs/kfm/trunk/kfm.asm | 34 ++++++++++++++++++++++++++++++++-- programs/fs/kfm/trunk/text.inc | 2 +- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/programs/fs/kfm/trunk/key.inc b/programs/fs/kfm/trunk/key.inc index 5021ebf3ed..c591dc1598 100644 --- a/programs/fs/kfm/trunk/key.inc +++ b/programs/fs/kfm/trunk/key.inc @@ -715,7 +715,7 @@ key_insert: cmp ah,82 ; Insert je mark_file cmp ah,83 - je delete_file + je f_key_f8 ;delete_file key_end: jmp still ;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/fs/kfm/trunk/kfm.asm b/programs/fs/kfm/trunk/kfm.asm index 899bbc21be..e5f0c415a7 100644 --- a/programs/fs/kfm/trunk/kfm.asm +++ b/programs/fs/kfm/trunk/kfm.asm @@ -1,6 +1,6 @@ ;***************************************************************************** ; KFM - Kolibri File Manager -; Copyright (c) 2006 - 2010, Marat Zakiyanov aka Mario79, aka Mario +; Copyright (c) 2006 - 2012, Marat Zakiyanov aka Mario79, aka Mario ; All rights reserved. ; ; Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;***************************************************************************** -; KFM v0.47d 07.04.2012 +; KFM v0.47e 16.04.2012 ;--------------------------------------------------------------------- use32 org 0x0 @@ -122,6 +122,9 @@ red_1: ;--------------------------------------------------------------------- still: mcall 10 + + call check_active_process_for_clear_all_flags + cmp eax,1 je red cmp eax,2 @@ -132,6 +135,33 @@ still: je mouse jmp still ;--------------------------------------------------------------------- +check_active_process_for_clear_all_flags: + push eax + mcall 18,7 + cmp [active_process],eax + je .exit + + xor eax,eax + cmp [shift_flag],al + jne .clear_all_flags + + cmp [ctrl_flag],al + jne .clear_all_flags + + cmp [ctrl_flag],al + je .exit +;-------------------------------------- +.clear_all_flags: + mov [shift_flag],al + mov [ctrl_flag],al + mov [alt_flag],al + call erase_fbutton + call draw_fbutton +;-------------------------------------- +.exit: + pop eax + ret +;--------------------------------------------------------------------- get_window_param: mcall 9, procinfo, -1 mov eax,[ebx+46] diff --git a/programs/fs/kfm/trunk/text.inc b/programs/fs/kfm/trunk/text.inc index 87df93545e..a24979da80 100644 --- a/programs/fs/kfm/trunk/text.inc +++ b/programs/fs/kfm/trunk/text.inc @@ -1,4 +1,4 @@ -header_text db 'KFM - Kolibri File Manager v0.47d',0 +header_text db 'KFM - Kolibri File Manager v0.47e',0 ;--------------------------------------------------------------------- fbutton_name: .f1 db '1 Help',0