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 - ª« ¢¨è  ))
@ -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
; ª®¬¡¨­ æ¨¨ Ctrl + ª« ¢¨è 
; get scancode in ah
ror eax,8
; check for ctrl+ combinations
test word ed_flags,ed_ctrl_on
jz @f
; ¯à®¢¥àª  ᪠­ª®¤ 
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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;‡ £«ã誠 ­  ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢­¨§ â.¥. ¯à¨ ®¡­ à㦥­¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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
;--- ­ ¦ â  ¤àã£ ï ª« ¢¨è  ---
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;<3B>஢¥àª  ãáâ ­®¢«¥­ «¨ ä« £ ¯à¨ ª®â®à®¬ ­ã¦­® ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ ­ã¦­®¬ ¡®ªá¥, ¥á«¨ â ª®© ­¥®¡å®¤¨¬®á⨠­¥â, ­ã¦­® § ª®¬¥­â¨à®¢ âì ¬ ªà®á