View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000188 | Kolibri OS (trunk) | Kernel | public | 2024-04-10 19:23 | 2024-04-10 19:23 |
Reporter | Vaicheslav97 | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | Any x86 / Любой x86 | OS | KolibriOS | OS Version | SVN autobuilds |
Product Version | SVN build / автосборка SVN | ||||
Target Version | 0.9.0.0 | ||||
Summary | 0000188: СФ 18.16.4 Некоректное поведение. | ||||
Description | 1)Неуместный авто возврат на старые координаты при взаимодействии с устройством мыши. 2)Не изменяет состояние нажатия кнопки после смещения курсора через неё. | ||||
Steps To Reproduce | Использовать СФ 18.16.4 и создать любое реальное событие мыши. | ||||
Additional Information | Сама функция работает в локальных(окно) и глобальных координатах(Екран). Моя программа не производит сама по себе возврат при отжатии. В драйвер передаётся смещение курсора. Оно умножается на ускорение и перезаписывается. Также есть координаты тени мыши(место где мышь была в прошлый раз чтобы восстановить картинку) но они вроде только перезаписываются поверх. | ||||
Tags | No tags attached. | ||||
SVN revision / ревизия SVN | |||||
Type of distribution / Тип дистрибутива | any / любой | ||||
|
NEW_mouse_EXAMPLE.ASM (5,819 bytes)
;--------------------------------------------------------------------- use32 ; ������� 32-���� ०�� ��ᥬ���� org 0 ; ������ � ��� db 'MENUET01' ; 8-����� �����䨪��� MenuetOS dd 1 ; ����� ��������� (1 ���� 2, �. ���-�) dd START ; ���� ��ࢮ� ������� dd I_END ; ࠧ��� �ணࠬ�� dd MEM ; ������⢮ ����� dd STACKTOP ; ���� ���設� ��� dd 0 ; ���� ���� ��� ��ࠬ�� dd 0 ; ��१�ࢨ��� include "macros.inc" ; ������ �������� ����� ��ᥬ����騪��! ;--------------------------------------------------------------------- ;--- ������ ��������� ---------------------------------------------- ;--------------------------------------------------------------------- START: mov [mposX], 1 mov [mposY], 1 mov eax, 40 mov ebx, 100111b int 0x40 red: ; ����ᮢ��� ���� call draw_window ; ��뢠�� ��楤��� ���ᮢ�� ���� ;--------------------------------------------------------------------- ;--- ���� ��������� ������� ---------------------------------------- ;--------------------------------------------------------------------- still: mcall 10 ; �㭪�� 10 - ����� ᮡ��� cmp eax,1 ; ����ᮢ��� ���� ? je red ; � �� - �� ���� red cmp eax,2 je key cmp eax,3 ; ����� ������ ? je button ; � �� - �� button cmp eax,6 ; ����� ������ ? je mouse ; � �� - �� key jmp still ; � ��㣮� ᮡ�⨥ - � ��砫� 横�� ;--------------------------------------------------------------------- key:; ����� ������ �� ��������� ; �㭪�� 2 - ����� ��� ᨬ���� (� ah) mcall 2 call draw_window ; ��뢠�� ��楤��� ���ᮢ�� ���� jmp still ; �������� � ��砫� 横�� mouse:; ����� ������ �� ��������� ; �㭪�� 2 - ����� ��� ᨬ���� (� ah) mcall 37,0 mov ecx, eax mov [mposY],cx shr ecx, 16 mov [mposX],cx mcall 37,3 mov [mst], eax ;cmp eax,1 ; ����ᮢ��� ���� ? ;and eax, 00010b and eax, 0x200 jz rds ;jne rds mov edx, 16 shl edx, 16 mov dx, 16 ;neg [mposX] ;neg [mposY] ;mov edx, eax ;add edx, ecx mcall 18,19, 4 ; ������� ��� ᨬ���� �� ॣ���� ah � ������ rds: call draw_window ; ��뢠�� ��楤��� ���ᮢ�� ���� jmp still ; �������� � ��砫� 横�� ;--------------------------------------------------------------------- button: mcall 17 ; 17 - ������� �����䨪��� ����⮩ ������ cmp ah, 1 ; � �� ����� ������ � ���� 1, jne still ; �������� .exit: mcall -1 ; ���� ����� �ணࠬ�� ;--------------------------------------------------------------------- ;--- ����������� � ��������� ���� ---------------------------------- ;--------------------------------------------------------------------- draw_window: mcall 12, 1 ; �㭪�� 12: ᮮ���� �� � ��砫� ���ᮢ�� mcall 48, 3, sc,sizeof.system_colors mov edx, [sc.work] ; 梥� 䮭� or edx, 0x33000000 ; � ⨯ ���� 3 mcall 0, <200,300>, <200,150>, , ,title mov edx, 50*65536+40 mov eax, 47 mov ebx, 0x80080000 mov ecx, 0 mov cx,[mposY] mov esi, [sc.work_text] ; 梥� 䮭� or esi, 0x10000000 int 0x40 mov edx, 50*65536+20 mov eax, 47 mov ebx, 0x80080000 mov ecx, 0 mov cx,[mposX] mov esi, [sc.work_text] ; 梥� 䮭� or esi, 0x10000000 int 0x40 mov edx, 50*65536+60 mov eax, 47 mov ebx, 0x001F0200 mov ecx, dword[mst] mov esi, [sc.work_text] ; 梥� 䮭� or esi, 0x10000000 int 0x40 ; �뢮� ⥪�⮢�� ��ப� mov ecx, [sc.work_text] ; 梥� 䮭� or ecx, 0x90000000 ; � ⨯ ��ப� mcall 4, <10, 20>, , message mov ecx, [sc.work_text] ; 梥� 䮭� or ecx, 0x90000000 ; � ⨯ ��ப� mcall 4, <10, 40>, , message2 mcall 12, 2 ; �㭪�� 12.2, �����稫� �ᮢ��� ret ; ��室�� �� ��楤��� ;--------------------------------------------------------------------- ;--- ������ ��������� ---------------------------------------------- ;--------------------------------------------------------------------- ; ��� ⠪�� ��� ���⪠� "�������". ; ��ன ���� ��������� ����⨥� ������� sc system_colors message db 'X:',0 message2 db 'Y:',0 mposX rw 1 mposY rw 1 mst rd 1 title db '�ਬ�� �ணࠬ��',0 ;--------------------------------------------------------------------- I_END: ; ��⪠ ���� �ணࠬ�� rb 4096 ; ������ ��� �⥪� align 16 STACKTOP: ; ��⪠ ���設� �⥪� (�� ���������� �⥪ ; ���� � ��� 㬥��襭�� ���ᮢ, ��⮬� ; ������ ��� ���� � ���� �ணࠬ�� ����砥��� ; ࠭�� 祬 ��� ���設�) MEM: ; ��⪠ 㪠�뢠��� �� ����� �ணࠬ�� ���� ; ࠧ��� �ᯮ��㥬�� �� ����⨢��� ����� ; ���� ��⪨ MEM �ᥣ�� ������ ���� ����� 祬 ���� ��⪨ I_END. ; ��⪠ STACKTOP ������ �ᯮ�������� �� ��⪨ I_END � ��। ��⪮� ; MEM. STACKTOP ����� ��室���� � ��। I_END, �� �� �� �ࠢ��쭮. ; ����� ��⮪ ����� ���� � ��묨 �������ﬨ, ������� ᮡ��� ; �ࠢ���� ���冷� �� �ᯮ�������. |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-04-10 19:23 | Vaicheslav97 | New Issue | |
2024-04-10 19:23 | Vaicheslav97 | File Added: NEW_mouse_EXAMPLE.ASM | |
2024-04-10 19:23 | Vaicheslav97 | File Added: bandicam 2024-04-10 20-46-55-243.mp4 |