summaryrefslogtreecommitdiff
path: root/Kernel/PS2MouseDevice.h
AgeCommit message (Collapse)Author
2019-01-16Use a CircularQueue for the PS/2 mouse driver.Andreas Kling
2019-01-16Pass the process to CharacterDevice::read/write.Andreas Kling
This is much nicer than grabbing directly at 'current' inside a read().
2019-01-16Rename CharacterDevice::has_data_available_for_reading() -> can_read().Andreas Kling
2019-01-15Allow character devices to block write attempts until there is more space.Andreas Kling
2019-01-14Start refactoring the windowing system to use an event loop.Andreas Kling
Userspace programs can now open /dev/gui_events and read a stream of GUI_Event structs one at a time. I was stuck on a stupid problem where we'd reenter Scheduler::yield() due to having one of the has_data_available_for_reading() implementations using locks.
2019-01-12Make PS2MouseDevice behave more like a proper character device.Andreas Kling
Get rid of the goofy MouseClient interface and have the GUI event loop just read mouse data from the character device. The previous approach was awful as it was sending us into random GUI code in the mouse interrupt handler.
2019-01-11Hook up the PS2MouseDevice to the AbstractScreen+WindowManager.Andreas Kling
Render the mouse cursor by xor'ing the pixels. I don't know anything about hardware cursors yet and this way we don't need to recompose the window hierarchy every time you move the mouse. :^)
2019-01-11Add a simple PS/2 mouse device.Andreas Kling
It's not hooked up to anything just yet, but it does read movement deltas.