Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
Mouse

Classes

class  CInputManager
 Main input processing class. More...
 
class  KODI::MOUSE::CMouseInputHandling
 Class to translate input from driver info to higher-level features. More...
 
class  KODI::MOUSE::IMouseDriverHandler
 Interface for handling mouse driver events. More...
 
class  KODI::MOUSE::IMouseInputHandler
 Interface for handling mouse events. More...
 
class  KODI::MOUSE::IMouseInputProvider
 Interface for classes that can provide mouse input. More...
 
class  KODI::MOUSE::CMouseEvent
 Simple class for mouse events. More...
 
class  CMouseTranslator
 
enum class  KODI::MOUSE::BUTTON_ID {
  KODI::MOUSE::BUTTON_ID::UNKNOWN , KODI::MOUSE::BUTTON_ID::LEFT , KODI::MOUSE::BUTTON_ID::RIGHT , KODI::MOUSE::BUTTON_ID::MIDDLE ,
  KODI::MOUSE::BUTTON_ID::BUTTON4 , KODI::MOUSE::BUTTON_ID::BUTTON5 , KODI::MOUSE::BUTTON_ID::WHEEL_UP , KODI::MOUSE::BUTTON_ID::WHEEL_DOWN ,
  KODI::MOUSE::BUTTON_ID::HORIZ_WHEEL_LEFT , KODI::MOUSE::BUTTON_ID::HORIZ_WHEEL_RIGHT
}
 Buttons on a mouse. More...
 
using KODI::MOUSE::ButtonName = std::string
 Name of a mouse button.
 
using KODI::MOUSE::POINTER_DIRECTION = INPUT::CARDINAL_DIRECTION
 Directions of motion for a mouse pointer.
 
using KODI::MOUSE::PointerName = std::string
 Name of the mouse pointer.
 
enum  MOUSE_STATE { MOUSE_STATE_NORMAL = 1 , MOUSE_STATE_FOCUS , MOUSE_STATE_DRAG , MOUSE_STATE_CLICK }
 
enum  MOUSE_BUTTON {
  MOUSE_LEFT_BUTTON = 0 , MOUSE_RIGHT_BUTTON , MOUSE_MIDDLE_BUTTON , MOUSE_EXTRA_BUTTON1 ,
  MOUSE_EXTRA_BUTTON2 , MOUSE_EXTRA_BUTTON3 , MOUSE_EXTRA_BUTTON4
}
 
enum class  HoldAction { NONE , DRAG_START , DRAG , DRAG_END }
 
#define XBMC_BUTTON(X)   (1 << ((X)-1))
 
#define XBMC_BUTTON_LEFT   1
 
#define XBMC_BUTTON_MIDDLE   2
 
#define XBMC_BUTTON_RIGHT   3
 
#define XBMC_BUTTON_WHEELUP   4
 
#define XBMC_BUTTON_WHEELDOWN   5
 
#define XBMC_BUTTON_X1   6
 
#define XBMC_BUTTON_X2   7
 
#define XBMC_BUTTON_X3   8
 
#define XBMC_BUTTON_X4   9
 
#define XBMC_BUTTON_LMASK   XBMC_BUTTON(XBMC_BUTTON_LEFT)
 
#define XBMC_BUTTON_MMASK   XBMC_BUTTON(XBMC_BUTTON_MIDDLE)
 
#define XBMC_BUTTON_RMASK   XBMC_BUTTON(XBMC_BUTTON_RIGHT)
 
#define XBMC_BUTTON_X1MASK   XBMC_BUTTON(XBMC_BUTTON_X1)
 
#define XBMC_BUTTON_X2MASK   XBMC_BUTTON(XBMC_BUTTON_X2)
 
#define XBMC_BUTTON_X3MASK   XBMC_BUTTON(XBMC_BUTTON_X3)
 
#define XBMC_BUTTON_X4MASK   XBMC_BUTTON(XBMC_BUTTON_X4)
 
#define MOUSE_MINIMUM_MOVEMENT   2
 
#define MOUSE_DOUBLE_CLICK_LENGTH   500L
 
#define MOUSE_ACTIVE_LENGTH   5000L
 
#define MOUSE_MAX_BUTTON   7
 

Detailed Description

Everything around mouse

Mouse input is processed by CInputManager and forwarded to registered mouse handlers (e.g. game clients) or as actions to the UI:

Macro Definition Documentation

◆ MOUSE_ACTIVE_LENGTH

#define MOUSE_ACTIVE_LENGTH   5000L

◆ MOUSE_DOUBLE_CLICK_LENGTH

#define MOUSE_DOUBLE_CLICK_LENGTH   500L

◆ MOUSE_MAX_BUTTON

#define MOUSE_MAX_BUTTON   7

◆ MOUSE_MINIMUM_MOVEMENT

#define MOUSE_MINIMUM_MOVEMENT   2

◆ XBMC_BUTTON

#define XBMC_BUTTON ( X)    (1 << ((X)-1))

◆ XBMC_BUTTON_LEFT

#define XBMC_BUTTON_LEFT   1

◆ XBMC_BUTTON_LMASK

#define XBMC_BUTTON_LMASK   XBMC_BUTTON(XBMC_BUTTON_LEFT)

◆ XBMC_BUTTON_MIDDLE

#define XBMC_BUTTON_MIDDLE   2

◆ XBMC_BUTTON_MMASK

#define XBMC_BUTTON_MMASK   XBMC_BUTTON(XBMC_BUTTON_MIDDLE)

◆ XBMC_BUTTON_RIGHT

#define XBMC_BUTTON_RIGHT   3

◆ XBMC_BUTTON_RMASK

#define XBMC_BUTTON_RMASK   XBMC_BUTTON(XBMC_BUTTON_RIGHT)

◆ XBMC_BUTTON_WHEELDOWN

#define XBMC_BUTTON_WHEELDOWN   5

◆ XBMC_BUTTON_WHEELUP

#define XBMC_BUTTON_WHEELUP   4

◆ XBMC_BUTTON_X1

#define XBMC_BUTTON_X1   6

◆ XBMC_BUTTON_X1MASK

#define XBMC_BUTTON_X1MASK   XBMC_BUTTON(XBMC_BUTTON_X1)

◆ XBMC_BUTTON_X2

#define XBMC_BUTTON_X2   7

◆ XBMC_BUTTON_X2MASK

#define XBMC_BUTTON_X2MASK   XBMC_BUTTON(XBMC_BUTTON_X2)

◆ XBMC_BUTTON_X3

#define XBMC_BUTTON_X3   8

◆ XBMC_BUTTON_X3MASK

#define XBMC_BUTTON_X3MASK   XBMC_BUTTON(XBMC_BUTTON_X3)

◆ XBMC_BUTTON_X4

#define XBMC_BUTTON_X4   9

◆ XBMC_BUTTON_X4MASK

#define XBMC_BUTTON_X4MASK   XBMC_BUTTON(XBMC_BUTTON_X4)

Typedef Documentation

◆ ButtonName

using KODI::MOUSE::ButtonName = std::string

Name of a mouse button.

Names are defined in the mouse's controller profile.

◆ POINTER_DIRECTION

Directions of motion for a mouse pointer.

◆ PointerName

using KODI::MOUSE::PointerName = std::string

Name of the mouse pointer.

Names are defined in the mouse's controller profile.

Enumeration Type Documentation

◆ BUTTON_ID

enum class KODI::MOUSE::BUTTON_ID
strong

Buttons on a mouse.

Enumerator
UNKNOWN 
LEFT 
RIGHT 
MIDDLE 
BUTTON4 
BUTTON5 
WHEEL_UP 
WHEEL_DOWN 
HORIZ_WHEEL_LEFT 
HORIZ_WHEEL_RIGHT 

◆ HoldAction

enum class HoldAction
strong
Enumerator
NONE 

No action should occur

DRAG_START 

A drag action has started

DRAG 

A drag action is in progress

DRAG_END 

A drag action has finished

◆ MOUSE_BUTTON

Enumerator
MOUSE_LEFT_BUTTON 
MOUSE_RIGHT_BUTTON 
MOUSE_MIDDLE_BUTTON 
MOUSE_EXTRA_BUTTON1 
MOUSE_EXTRA_BUTTON2 
MOUSE_EXTRA_BUTTON3 
MOUSE_EXTRA_BUTTON4 

◆ MOUSE_STATE

Enumerator
MOUSE_STATE_NORMAL 

Normal state

MOUSE_STATE_FOCUS 

Control below the mouse is currently in focus

MOUSE_STATE_DRAG 

A drag operation is being performed

MOUSE_STATE_CLICK 

A mousebutton is being clicked