• Jeffrey Lee's avatar
    Add scroll mouse support · 66b2aac7
    Jeffrey Lee authored
    * Listen out for PointerV 9, which (RISC OS 5) mouse drivers use to
    indicate scroll wheel updates + extra button status
    * Changes in the state of the extra buttons are treated the same as
    changes to normal mouse buttons: signalled via Event_Mouse, and stored
    in the mouse buffer (for reading via OS_Mouse).
    * Changes in the scroll wheel(s) are signalled via Event_Expansion,4. If
    the event vector call is unclaimed, the kernel's wheel position
    accumulators will be updated
    * Wheel position accumulators can be read via OS_Pointer 2
    * Wheel position accumulators implement "wrap to zero" logic on overflow
    This matches RISCOS Ltd's implementation
    except that:
    * The kernel currently doesn't call PointerV 4, so PointerV 9 is the
    only way drivers can report wheel + extra button status
    * Extra mouse buttons don't generate KeyV transitions
    * Our implementation is in the kernel, not an OSPointer module
    Version 6.37. Tagged as 'Kernel-6_37'
mouse 12.6 KB