Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)
 
#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)
Value:
(1 << ((X)-1))
#define X(VAL)
Definition sqlitedataset.cpp:29

◆ 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