/*
* Copyright (C) 2005-2018 Team Kodi
* This file is part of Kodi - https://kodi.tv
*
* SPDX-License-Identifier: GPL-2.0-or-later
* See LICENSES/README.md for more information.
*/
#pragma once
/**
* \defgroup kodi_key_action_ids Action Id's
* \ingroup python_xbmcgui_window_cb
* \ingroup python_xbmcgui_action
* @{
* @brief Actions that we have defined.
*/
#define ACTION_NONE 0
#define ACTION_MOVE_LEFT 1
#define ACTION_MOVE_RIGHT 2
#define ACTION_MOVE_UP 3
#define ACTION_MOVE_DOWN 4
#define ACTION_PAGE_UP 5
#define ACTION_PAGE_DOWN 6
#define ACTION_SELECT_ITEM 7
#define ACTION_HIGHLIGHT_ITEM 8
#define ACTION_PARENT_DIR 9
#define ACTION_PREVIOUS_MENU 10
#define ACTION_SHOW_INFO 11
#define ACTION_PAUSE 12
#define ACTION_STOP 13
#define ACTION_NEXT_ITEM 14
#define ACTION_PREV_ITEM 15
#define ACTION_FORWARD \
16 //!< Can be used to specify specific action in a window, Playback control is handled in
//!< ACTION_PLAYER_*
#define ACTION_REWIND \
17 //!< Can be used to specify specific action in a window, Playback control is handled in
//!< ACTION_PLAYER_*
#define ACTION_SHOW_GUI 18 //!< toggle between GUI and movie or GUI and visualisation.
#define ACTION_ASPECT_RATIO \
19 //!< toggle quick-access zoom modes. Can b used in videoFullScreen.zml window id=2005
#define ACTION_STEP_FORWARD \
20 //!< seek +1% in the movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_STEP_BACK \
21 //!< seek -1% in the movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_BIG_STEP_FORWARD \
22 //!< seek +10% in the movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_BIG_STEP_BACK \
23 //!< seek -10% in the movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_SHOW_OSD 24 //!< show/hide OSD. Can b used in videoFullScreen.xml window id=2005
#define ACTION_SHOW_SUBTITLES \
25 //!< turn subtitles on/off. Can b used in videoFullScreen.xml window id=2005
#define ACTION_NEXT_SUBTITLE \
26 //!< switch to next subtitle of movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_BROWSE_SUBTITLE 247 //!< Browse for subtitle. Can be used in videofullscreen
#define ACTION_PLAYER_DEBUG 27 //!< show debug info for VideoPlayer
#define ACTION_NEXT_PICTURE \
28 //!< show next picture of slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_PREV_PICTURE \
29 //!< show previous picture of slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_OUT \
30 //!< zoom in picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_IN \
31 //!< zoom out picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_TOGGLE_SOURCE_DEST \
32 //!< used to toggle between source view and destination view. Can be used in myfiles.xml window
//!< id=3
#define ACTION_SHOW_PLAYLIST \
33 //!< used to toggle between current view and playlist view. Can b used in all mymusic xml files
#define ACTION_QUEUE_ITEM \
34 //!< used to queue a item to the playlist. Can b used in all mymusic xml files
#define ACTION_REMOVE_ITEM 35 //!< not used anymore
#define ACTION_SHOW_FULLSCREEN 36 //!< not used anymore
#define ACTION_ZOOM_LEVEL_NORMAL \
37 //!< zoom 1x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_1 \
38 //!< zoom 2x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_2 \
39 //!< zoom 3x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_3 \
40 //!< zoom 4x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_4 \
41 //!< zoom 5x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_5 \
42 //!< zoom 6x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_6 \
43 //!< zoom 7x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_7 \
44 //!< zoom 8x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_8 \
45 //!< zoom 9x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_ZOOM_LEVEL_9 \
46 //!< zoom 10x picture during slideshow. Can b used in slideshow.xml window id=2007
#define ACTION_CALIBRATE_SWAP_ARROWS \
47 //!< select next arrow. Can b used in: settingsScreenCalibration.xml windowid=11
#define ACTION_CALIBRATE_RESET \
48 //!< reset calibration to defaults. Can b used in: `settingsScreenCalibration.xml`
//!< windowid=11/settingsUICalibration.xml windowid=10
#define ACTION_ANALOG_MOVE \
49 //!< analog thumbstick move. Can b used in: `slideshow.xml`
//!< windowid=2007/settingsScreenCalibration.xml windowid=11/settingsUICalibration.xml
//!< windowid=10
//!< @note see also ACTION_ANALOG_MOVE_X_LEFT, ACTION_ANALOG_MOVE_X_RIGHT,
//!< ACTION_ANALOG_MOVE_Y_UP, ACTION_ANALOG_MOVE_Y_DOWN
#define ACTION_ROTATE_PICTURE_CW \
50 //!< rotate current picture clockwise during slideshow. Can be used in slideshow.xml window
//!< id=2007
#define ACTION_ROTATE_PICTURE_CCW \
51 //!< rotate current picture counterclockwise during slideshow. Can be used in slideshow.xml
//!< window id=2007
#define ACTION_SUBTITLE_DELAY_MIN \
52 //!< Decrease subtitle/movie Delay. Can b used in videoFullScreen.xml window id=2005
#define ACTION_SUBTITLE_DELAY_PLUS \
53 //!< Increase subtitle/movie Delay. Can b used in videoFullScreen.xml window id=2005
#define ACTION_AUDIO_DELAY_MIN \
54 //!< Increase avsync delay. Can b used in videoFullScreen.xml window id=2005
#define ACTION_AUDIO_DELAY_PLUS \
55 //!< Decrease avsync delay. Can b used in videoFullScreen.xml window id=2005
#define ACTION_AUDIO_NEXT_LANGUAGE \
56 //!< Select next language in movie. Can b used in videoFullScreen.xml window id=2005
#define ACTION_CHANGE_RESOLUTION \
57 //!< switch 2 next resolution. Can b used during screen calibration
//!< settingsScreenCalibration.xml windowid=11
#define REMOTE_0 58 //!< remote keys 0-9. are used by multiple windows
#define REMOTE_1 59 //!< for example in videoFullScreen.xml window id=2005 you can
#define REMOTE_2 60 //!< enter time (mmss) to jump to particular point in the movie
#define REMOTE_3 61
#define REMOTE_4 62 //!< with spincontrols you can enter 3digit number to quickly set
#define REMOTE_5 63 //!< spincontrol to desired value
#define REMOTE_6 64
#define REMOTE_7 65
#define REMOTE_8 66
#define REMOTE_9 67
#define ACTION_PLAYER_PROCESS_INFO \
69 //!< show player process info (video decoder, pixel format, pvr signal strength and the like
#define ACTION_PLAYER_PROGRAM_SELECT 70
#define ACTION_PLAYER_RESOLUTION_SELECT 71
#define ACTION_SMALL_STEP_BACK \
76 //!< jumps a few seconds back during playback of movie. Can b used in videoFullScreen.xml
//!< window id=2005
#define ACTION_PLAYER_FORWARD 77 //!< FF in current file played. global action, can be used anywhere
#define ACTION_PLAYER_REWIND 78 //!< RW in current file played. global action, can be used anywhere
#define ACTION_PLAYER_PLAY \
79 //!< Play current song. Unpauses song and sets playspeed to 1x. global action, can be used
//!< anywhere
#define ACTION_DELETE_ITEM \
80 //!< delete current selected item. Can be used in myfiles.xml window id=3 and in
//!< myvideoTitle.xml window id=25
#define ACTION_COPY_ITEM 81 //!< copy current selected item. Can be used in myfiles.xml window id=3
#define ACTION_MOVE_ITEM 82 //!< move current selected item. Can be used in myfiles.xml window id=3
#define ACTION_TAKE_SCREENSHOT 85 //!< take a screenshot
#define ACTION_RENAME_ITEM 87 //!< rename item
#define ACTION_VOLUME_UP 88
#define ACTION_VOLUME_DOWN 89
#define ACTION_VOLAMP 90
#define ACTION_MUTE 91
#define ACTION_NAV_BACK 92
#define ACTION_VOLAMP_UP 93
#define ACTION_VOLAMP_DOWN 94
#define ACTION_CREATE_EPISODE_BOOKMARK \
95 //!< Creates an episode bookmark on the currently playing video file containing more than one
//!< episode
#define ACTION_CREATE_BOOKMARK 96 //!< Creates a bookmark of the currently playing video file
#define ACTION_CHAPTER_OR_BIG_STEP_FORWARD \
97 //!< Goto the next chapter, if not available perform a big step forward
#define ACTION_CHAPTER_OR_BIG_STEP_BACK \
98 //!< Goto the previous chapter, if not available perform a big step back
#define ACTION_CYCLE_SUBTITLE \
99 //!< switch to next subtitle of movie, but will not enable/disable the subtitles. Can be used
//!< in videoFullScreen.xml window id=2005
#define ACTION_MOUSE_START 100
#define ACTION_MOUSE_LEFT_CLICK 100
#define ACTION_MOUSE_RIGHT_CLICK 101
#define ACTION_MOUSE_MIDDLE_CLICK 102
#define ACTION_MOUSE_DOUBLE_CLICK 103
#define ACTION_MOUSE_WHEEL_UP 104
#define ACTION_MOUSE_WHEEL_DOWN 105
#define ACTION_MOUSE_DRAG 106
#define ACTION_MOUSE_MOVE 107
#define ACTION_MOUSE_LONG_CLICK 108
#define ACTION_MOUSE_DRAG_END 109
#define ACTION_MOUSE_END 109
#define ACTION_BACKSPACE 110
#define ACTION_SCROLL_UP 111
#define ACTION_SCROLL_DOWN 112
#define ACTION_ANALOG_FORWARD 113
#define ACTION_ANALOG_REWIND 114
#define ACTION_MOVE_ITEM_UP 115 //!< move item up in playlist
#define ACTION_MOVE_ITEM_DOWN 116 //!< move item down in playlist
#define ACTION_CONTEXT_MENU 117 //!< pops up the context menu
// stuff for virtual keyboard shortcuts
#define ACTION_SHIFT 118 //!< stuff for virtual keyboard shortcuts
#define ACTION_SYMBOLS 119 //!< stuff for virtual keyboard shortcuts
#define ACTION_CURSOR_LEFT 120 //!< stuff for virtual keyboard shortcuts
#define ACTION_CURSOR_RIGHT 121 //!< stuff for virtual keyboard shortcuts
#define ACTION_BUILT_IN_FUNCTION 122
#define ACTION_SHOW_OSD_TIME \
123 //!< displays current time, can be used in videoFullScreen.xml window id=2005
#define ACTION_ANALOG_SEEK_FORWARD 124 //!< seeks forward, and displays the seek bar.
#define ACTION_ANALOG_SEEK_BACK 125 //!< seeks backward, and displays the seek bar.
#define ACTION_VIS_PRESET_SHOW 126
#define ACTION_VIS_PRESET_NEXT 128
#define ACTION_VIS_PRESET_PREV 129
#define ACTION_VIS_PRESET_LOCK 130
#define ACTION_VIS_PRESET_RANDOM 131
#define ACTION_VIS_RATE_PRESET_PLUS 132
#define ACTION_VIS_RATE_PRESET_MINUS 133
#define ACTION_SHOW_VIDEOMENU 134
#define ACTION_ENTER 135
#define ACTION_INCREASE_RATING 136
#define ACTION_DECREASE_RATING 137
#define ACTION_NEXT_SCENE 138 //!< switch to next scene/cutpoint in movie
#define ACTION_PREV_SCENE 139 //!< switch to previous scene/cutpoint in movie
#define ACTION_NEXT_LETTER 140 //!< jump through a list or container by letter
#define ACTION_PREV_LETTER 141
#define ACTION_JUMP_SMS2 142 //!< jump direct to a particular letter using SMS-style input
#define ACTION_JUMP_SMS3 143
#define ACTION_JUMP_SMS4 144
#define ACTION_JUMP_SMS5 145
#define ACTION_JUMP_SMS6 146
#define ACTION_JUMP_SMS7 147
#define ACTION_JUMP_SMS8 148
#define ACTION_JUMP_SMS9 149
#define ACTION_FILTER_CLEAR 150
#define ACTION_FILTER_SMS2 151
#define ACTION_FILTER_SMS3 152
#define ACTION_FILTER_SMS4 153
#define ACTION_FILTER_SMS5 154
#define ACTION_FILTER_SMS6 155
#define ACTION_FILTER_SMS7 156
#define ACTION_FILTER_SMS8 157
#define ACTION_FILTER_SMS9 158
#define ACTION_FIRST_PAGE 159
#define ACTION_LAST_PAGE 160
#define ACTION_AUDIO_DELAY 161
#define ACTION_SUBTITLE_DELAY 162
#define ACTION_MENU 163
#define ACTION_SET_RATING 164
#define ACTION_RECORD 170
#define ACTION_PASTE 180
#define ACTION_NEXT_CONTROL 181
#define ACTION_PREV_CONTROL 182
#define ACTION_CHANNEL_SWITCH 183
#define ACTION_CHANNEL_UP 184
#define ACTION_CHANNEL_DOWN 185
#define ACTION_NEXT_CHANNELGROUP 186
#define ACTION_PREVIOUS_CHANNELGROUP 187
#define ACTION_PVR_PLAY 188
#define ACTION_PVR_PLAY_TV 189
#define ACTION_PVR_PLAY_RADIO 190
#define ACTION_PVR_SHOW_TIMER_RULE 191
#define ACTION_CHANNEL_NUMBER_SEP 192
#define ACTION_PVR_ANNOUNCE_REMINDERS 193
#define ACTION_TOGGLE_FULLSCREEN 199 //!< switch 2 desktop resolution
#define ACTION_TOGGLE_WATCHED 200 //!< Toggle watched status (videos)
#define ACTION_SCAN_ITEM 201 //!< scan item
#define ACTION_TOGGLE_DIGITAL_ANALOG 202 //!< switch digital <-> analog
#define ACTION_RELOAD_KEYMAPS 203 //!< reloads CButtonTranslator's keymaps
#define ACTION_GUIPROFILE_BEGIN 204 //!< start the GUIControlProfiler running
#define ACTION_TELETEXT_RED 215 //!< Teletext Color button Red to control TopText
#define ACTION_TELETEXT_GREEN 216 //!< Teletext Color button Green to control TopText
#define ACTION_TELETEXT_YELLOW 217 //!< Teletext Color button Yellow to control TopText
#define ACTION_TELETEXT_BLUE 218 //!< Teletext Color button Blue to control TopText
#define ACTION_INCREASE_PAR 219
#define ACTION_DECREASE_PAR 220
#define ACTION_VSHIFT_UP 227 //!< shift up video image in VideoPlayer
#define ACTION_VSHIFT_DOWN 228 //!< shift down video image in VideoPlayer
#define ACTION_PLAYER_PLAYPAUSE 229 //!< Play/pause. If playing it pauses, if paused it plays.
#define ACTION_SUBTITLE_VSHIFT_UP 230 //!< shift up subtitles in VideoPlayer
#define ACTION_SUBTITLE_VSHIFT_DOWN 231 //!< shift down subtitles in VideoPlayer
#define ACTION_SUBTITLE_ALIGN 232 //!< toggle vertical alignment of subtitles
#define ACTION_FILTER 233
#define ACTION_SWITCH_PLAYER 234
#define ACTION_STEREOMODE_NEXT 235
#define ACTION_STEREOMODE_PREVIOUS 236
#define ACTION_STEREOMODE_TOGGLE 237 //!< turns 3d mode on/off
#define ACTION_STEREOMODE_SELECT 238
#define ACTION_STEREOMODE_TOMONO 239
#define ACTION_STEREOMODE_SET 240
#define ACTION_SETTINGS_RESET 241
#define ACTION_SETTINGS_LEVEL_CHANGE 242
#define ACTION_TRIGGER_OSD \
243 //!< show autoclosing OSD. Can b used in videoFullScreen.xml window id=2005
#define ACTION_INPUT_TEXT 244
#define ACTION_VOLUME_SET 245
#define ACTION_TOGGLE_COMMSKIP 246
#define ACTION_HDR_TOGGLE 247 //!< Toggle display HDR on/off
#define ACTION_PLAYER_RESET 248 //!< Send a reset command to the active game
#define ACTION_TOGGLE_FONT 249 //!< Toggle font. Used in TextViewer dialog
#define ACTION_VIDEO_NEXT_STREAM 250 //!< Cycle video streams. Used in videofullscreen.
#define ACTION_QUEUE_ITEM_NEXT 251 //!< used to queue an item to the next position in the playlist
// Voice actions
#define ACTION_VOICE_RECOGNIZE 300
// Touch actions
#define ACTION_TOUCH_TAP 401 //!< touch actions
#define ACTION_TOUCH_TAP_TEN 410 //!< touch actions
#define ACTION_TOUCH_LONGPRESS 411 //!< touch actions
#define ACTION_TOUCH_LONGPRESS_TEN 420 //!< touch actions
#define ACTION_GESTURE_NOTIFY 500
#define ACTION_GESTURE_BEGIN 501
#define ACTION_GESTURE_ZOOM \
502 //!< sendaction with point and currentPinchScale (fingers together < 1.0 -> fingers apart
//!< > 1.0)
#define ACTION_GESTURE_ROTATE 503
#define ACTION_GESTURE_PAN 504
#define ACTION_GESTURE_ABORT 505 //!< gesture was interrupted in unspecified state
#define ACTION_GESTURE_SWIPE_LEFT 511
#define ACTION_GESTURE_SWIPE_LEFT_TEN 520
#define ACTION_GESTURE_SWIPE_RIGHT 521
#define ACTION_GESTURE_SWIPE_RIGHT_TEN 530
#define ACTION_GESTURE_SWIPE_UP 531
#define ACTION_GESTURE_SWIPE_UP_TEN 540
#define ACTION_GESTURE_SWIPE_DOWN 541
#define ACTION_GESTURE_SWIPE_DOWN_TEN 550
// 5xx is reserved for additional gesture actions
#define ACTION_GESTURE_END 599
// other, non-gesture actions
#define ACTION_ANALOG_MOVE_X_LEFT \
601 //!< analog thumbstick move, horizontal axis, left; see ACTION_ANALOG_MOVE
#define ACTION_ANALOG_MOVE_X_RIGHT \
602 //!< analog thumbstick move, horizontal axis, right; see ACTION_ANALOG_MOVE
#define ACTION_ANALOG_MOVE_Y_UP \
603 //!< analog thumbstick move, vertical axis, up; see ACTION_ANALOG_MOVE
#define ACTION_ANALOG_MOVE_Y_DOWN \
604 //!< analog thumbstick move, vertical axis, down; see ACTION_ANALOG_MOVE
//@}
// The NOOP action can be specified to disable an input event. This is
// useful in user keyboard.xml etc to disable actions specified in the
// system mappings. ERROR action is used to play an error sound
#define ACTION_ERROR 998
#define ACTION_NOOP 999