box_lib: correct filter for win keys in editbox

git-svn-id: svn://kolibrios.org@7502 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
b00bl1k
2018-10-24 19:41:08 +00:00
parent dc82ad6812
commit 9bdda6b839

View File

@@ -1,4 +1,4 @@
macro use_key_no_process up,down,super,esc,enter,tab,numl,capsl,scrolll
macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
{
if up eq
else
@@ -10,11 +10,6 @@ else
cmp ah,177
jz edit_box.editbox_exit
end if
if super eq
else
cmp ah,148 ;Super (Win logo)
jz edit_box.editbox_exit
end if
if esc eq
else
cmp ah,27 ;ESC - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ))
@@ -47,6 +42,8 @@ else
end if
}
SCAN_LWIN_RELEASE = 0xDB
SCAN_RWIN_RELEASE = 0xDC
align 16
edit_box:
@@ -138,23 +135,29 @@ edit_box_key:
jz edit_box_key.end
cmp ah,185 ;insert
jz edit_box_key.insert
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 Ctrl + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; get scancode in ah
ror eax,8
; check for ctrl+ combinations
test word ed_flags,ed_ctrl_on
jz @f
; <20><EFBFBD>ઠ ᪠<><E1AAA0><EFBFBD><EFBFBD><EFBFBD>
ror eax,8
cmp ah,45 ; Ctrl + X
je edit_box_key.ctrl_x
cmp ah,46 ; Ctrl + C
je edit_box_key.ctrl_c
cmp ah,47 ; Ctrl + V
je edit_box_key.ctrl_v
rol eax,8
@@:
cmp ah,SCAN_LWIN_RELEASE
jz edit_box.editbox_exit
cmp ah,SCAN_RWIN_RELEASE
jz edit_box.editbox_exit
; restore ascii code
rol eax,8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><E0A0A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>.<2E>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A6A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E5AEA4> <20><><20><> <20><><EFBFBD><E0A0A1><EFBFBD>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
use_key_no_process up,down,super,esc,enter,tab,numl,capsl,scrolll
use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B><EFBFBD><20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><20><EFBFBD> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E3A6AD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20>᫨ ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>