Unit Mouse
From Ultibo.org
Return to Unit Reference
Description
Mouse Devices
This unit provides both the Mouse device interface and the generic USB HID mouse driver.
Constants
To be documented
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
procedure MouseInit;
Description: Initialize the mouse unit, device table and USB mouse driver
Note | Called only during system startup |
---|
Mouse functions
function MousePeek:LongWord;
Description: Peek at the global mouse buffer to see if any data packets are ready
Return | ERROR_SUCCESS if packets are ready, ERROR_NO_MORE_ITEMS if not or another error code on failure |
---|
function MouseRead(Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
Description: Read mouse data packets from the global mouse buffer
Buffer | Pointer to a buffer to copy the mouse data packets to |
---|---|
Size | The size of the buffer in bytes (Must be at least TMouseData or greater) |
Count | The number of mouse data packets copied to the buffer |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseReadEx(Buffer:Pointer; Size,Flags:LongWord; var Count:LongWord):LongWord;
Description: Read mouse data packets from the global mouse buffer
Buffer | Pointer to a buffer to copy the mouse data packets to |
---|---|
Size | The size of the buffer in bytes (Must be at least TMouseData or greater) |
Flags | The flags for the behaviour of the read (eg MOUSE_FLAG_NON_BLOCK) |
Count | The number of mouse data packets copied to the buffer |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseWrite(Buffer:Pointer; Size,Count:LongWord):LongWord;
Description: Write mouse data packets to the global mouse buffer
Buffer | Pointer to a buffer to copy the mouse data packets from |
---|---|
Size | The size of the buffer in bytes (Must be at least TMouseData or greater) |
Count | The number of mouse data packets to copy from the buffer |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseFlush:LongWord;
Description: Flush the contents of the global mouse buffer
Return | ERROR_SUCCESS if completed or another error code on failure |
---|
function MouseDeviceRead(Mouse:PMouseDevice; Buffer:Pointer; Size:LongWord; var Count:LongWord):LongWord;
Description: Read mouse data packets from the buffer of the specified mouse
Mouse | The mouse device to read from |
---|---|
Buffer | Pointer to a buffer to copy the mouse data packets to |
Size | The size of the buffer in bytes (Must be at least TMouseData or greater) |
Count | The number of mouse data packets copied to the buffer |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceControl(Mouse:PMouseDevice; Request:Integer; Argument1:LongWord; var Argument2:LongWord):LongWord;
Description: Perform a control request on the specified mouse device
Mouse | The mouse device to control |
---|---|
Request | The request code for the operation (eg MOUSE_CONTROL_GET_FLAG) |
Argument1 | The first argument for the operation (Dependant on request code) |
Argument2 | The second argument for the operation (Dependant on request code) |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceSetState(Mouse:PMouseDevice; State:LongWord):LongWord;
Description: Set the state of the specified mouse and send a notification
Mouse | The mouse to set the state for |
---|---|
State | The new state to set and notify |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceCreate:PMouseDevice;
Description: Create a new Mouse device entry
Return | Pointer to new Mouse device entry or nil if mouse could not be created |
---|
function MouseDeviceCreateEx(Size:LongWord):PMouseDevice;
Description: Create a new Mouse device entry
Size | Size in bytes to allocate for new mouse (Including the mouse device entry) |
---|---|
Return | Pointer to new Mouse device entry or nil if mouse could not be created |
function MouseDeviceDestroy(Mouse:PMouseDevice):LongWord;
Description: Destroy an existing Mouse device entry
Mouse | The mouse device to destroy |
---|---|
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceRegister(Mouse:PMouseDevice):LongWord;
Description: Register a new Mouse device in the Mouse table
Mouse | The mouse device to register |
---|---|
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceDeregister(Mouse:PMouseDevice):LongWord;
Description: Deregister a Mouse device from the Mouse table
Mouse | The mouse device to deregister |
---|---|
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceFind(MouseId:LongWord):PMouseDevice;
Description: Find a mouse device by ID in the mouse table
MouseId | The ID number of the mouse to find |
---|---|
Return | Pointer to mouse device entry or nil if not found |
function MouseDeviceFindByName(const Name:String):PMouseDevice; inline;
Description: Find a mouse device by name in the mouse table
Name | The name of the mouse to find (eg Mouse0) |
---|---|
Return | Pointer to mouse device entry or nil if not found |
function MouseDeviceFindByDescription(const Description:String):PMouseDevice; inline;
Description: Find a mouse device by description in the mouse table
Description | The description of the mouse to find (eg USB HID Mouse) |
---|---|
Return | Pointer to mouse device entry or nil if not found |
function MouseDeviceEnumerate(Callback:TMouseEnumerate; Data:Pointer):LongWord;
Description: Enumerate all mouse devices in the mouse table
Callback | The callback function to call for each mouse in the table |
---|---|
Data | A private data pointer to pass to callback for each mouse in the table |
Return | ERROR_SUCCESS if completed or another error code on failure |
function MouseDeviceNotification(Mouse:PMouseDevice; Callback:TMouseNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: Register a notification for mouse device changes
Mouse | The mouse device to notify changes for (Optional, pass nil for all mice) |
---|---|
Callback | The function to call when a notification event occurs |
Data | A private data pointer to pass to callback when a notification event occurs |
Notification | The events to register for notification of (eg DEVICE_NOTIFICATION_REGISTER) |
Flags | The flags to control the notification (eg NOTIFIER_FLAG_WORKER) |
Return to Unit Reference