Files
kolibrios/drivers/vboxguest/data/mouse/constants.inc
lex ab59015ded
Some checks failed
Build system / Check kernel codestyle (pull_request) Has been cancelled
Build system / Build (pull_request) Has been cancelled
Add VBoxGuest driver code
2026-03-04 21:16:17 +03:00

40 lines
1.9 KiB
HTML

; =============================================================================
; Модуль : Mouse Service Constants
; Файл : data/mouse/constants.inc
; Назначение : VMMDev запросы мыши (абсолютные координаты, кнопки, скролл)
; =============================================================================
VMMDEV_REQ_GET_MOUSE_STATUS equ 1
VMMDEV_REQ_SET_MOUSE_STATUS equ 2
VMMDEV_REQ_SET_POINTER_SHAPE equ 3
VMMDEV_REQ_GET_MOUSE_STATUS_EX equ 223 ; Extended: + buttons, scroll
; VMMDEV_REQ_GET_POINTER_SHAPE equ 58
; Новые (v1_04):
VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE equ 0x00000001
VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR equ 0x00000002
VMMDEV_MOUSE_GUEST_HAS_ABSOLUTE equ 0x00000004
VMMDEV_MOUSE_NEW_PROTOCOL equ 0x00000010
VMMDEV_MOUSE_NOTIFY_GUEST equ 0x00000080
VMMDEV_MOUSE_HOST_WANTS_ABSOLUTE equ 0x00000100
VMMDEV_MOUSE_HOST_HAS_ABSOLUTE equ 0x00000200
VMMDEV_MOUSE_HOST_NEW_PROTOCOL equ 0x00000400
; Full state protocol (VBox 6.1+): кнопки + скролл в одном запросе
VMMDEV_MOUSE_GUEST_USES_FULL_STATE_PROTOCOL equ 0x00000080
VMMDEV_MOUSE_HOST_SUPPORTS_FULL_STATE_PROTOCOL equ 0x00000100
; Mouse button masks
VMMDEV_MOUSE_BUTTON_LEFT equ 0x01
VMMDEV_MOUSE_BUTTON_RIGHT equ 0x02
VMMDEV_MOUSE_BUTTON_MIDDLE equ 0x04
VMMDEV_MOUSE_BUTTON_X1 equ 0x08
VMMDEV_MOUSE_BUTTON_X2 equ 0x10
VBOX_MOUSE_GUEST_FEATURES equ VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE
VBOX_MOUSE_GUEST_FEATURES_EXT equ (VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE or VMMDEV_MOUSE_GUEST_USES_FULL_STATE_PROTOCOL)
MOUSE_EVENT_MASK equ ( VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED or VMMDEV_EVENT_MOUSE_POSITION_CHANGED)
VBOXGUEST_GUEST_CAPS_OR_MASK equ ( VBOXGUEST_GUEST_CAPS_OR_MASK or VMMDEV_GUEST_SUPPORTS_MOUSE )
VBOXGUEST_EVENTS_OR_MASK equ ( VBOXGUEST_EVENTS_OR_MASK or MOUSE_EVENT_MASK )