
Handles mouse movements and clicks. More...
#include <device/mouse.h>
Public Member Functions | |
Mouse (unsigned max_x, unsigned max_y) | |
Constructor. More... | |
void | getPos (unsigned &x, unsigned &y) const |
Retrieve the current mouse position. More... | |
bool | isPressed (MouseButton btn) const |
Check if a given mouse button is pressed. More... | |
void | plugin () |
Initialization of the mouse. More... | |
bool | prologue () override |
Prologue of mouse interrupts. More... | |
void | epilogue () override |
Epilogue of mouse interrupts. More... | |
![]() |
Public Attributes | |
const unsigned | MAX_X |
Maximum X position of the mouse. | |
const unsigned | MAX_Y |
Maximum Y position of the mouse. | |
Handles mouse movements and clicks.
This class ensures correct initialization of the mouse and, above all, its interrupt handling.
|
inlineexplicit |
Constructor.
Defines a virtual window for the mouse.
max_x | Maximum X position (excluding) for the mouse |
max_y | Maximum Y position (excluding) for the mouse |
|
inline |
|
inline |
Check if a given mouse button is pressed.
btn | Button to check for press |
true
if button is currently pressed void Mouse::plugin | ( | ) |
Initialization of the mouse.
Initialization of the mouse and activation of the specific interrupt handling: The object will register itself at the Plugbox and configure the IOAPIC to receive the corresponding interrupts.
|
overridevirtual |
|
overridevirtual |
Epilogue of mouse interrupts.
The current position of the cursor is drawn on the screen using TextMode::showMouse(). Press and release events of the buttons are printed to the debug output.
Reimplemented from Gate.