Mouse scroll (event)

From ComputerCraft Wiki
Jump to: navigation, search

Grid Modem.png  Event mouse_scroll
Fired when a mousewheel is scrolled in the terminal
Returned Object 1 The direction of the mouse-scroll (-1 = up, 1 = down).
Returned Object 2 The X-coordinate of the scroll (in screen-characters).
Returned Object 3 The Y-coordinate of the scroll (in screen-characters).


Grid paper.png  Example
Prints the direction and the co-ordinates of every mouse scroll we receive a mouse_scroll event for.
while true do
  local event, scrollDirection, x, y = os.pullEvent("mouse_scroll")
  print("mouse_scroll: " .. tostring(scrollDirection) .. ", " ..
    "X: " .. tostring(x) .. ", " ..
    "Y: " .. tostring(y))
Output The direction the mouse-wheel was scrolled in, followed by the X and Y position of the event.

Grid paper.png  Example
A variable i keeps track of the relative value of the scroll: every time a mouse-scroll occurs, the code checks the direction, incrementing the variable by one for every scroll up and decrementing the variable by one for every scroll down.
local i = 0

while true do
   local _, srollDirection, x, y = os.pullEvent("mouse_scroll")
   if scrollDirection == -1 then
      i = i + 1
   elseif scrollDirection == 1 then
      i = i - 1
   term.setCursorPos(x, y)
Output At the coordinates of the scroll, the counter value i is printed.