Open Broadcaster Software
Free, open source software for live streaming and recording
obs-interaction.h
Go to the documentation of this file.
1 /******************************************************************************
2  Copyright (C) 2014 by Hugh Bailey <obs.jim@gmail.com>
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16  ******************************************************************************/
17 
18 #pragma once
19 
20 #include "util/c99defs.h"
21 
23  INTERACT_NONE = 0,
25  INTERACT_SHIFT_KEY = 1 << 1,
26  INTERACT_CONTROL_KEY = 1 << 2,
27  INTERACT_ALT_KEY = 1 << 3,
28  INTERACT_MOUSE_LEFT = 1 << 4,
29  INTERACT_MOUSE_MIDDLE = 1 << 5,
30  INTERACT_MOUSE_RIGHT = 1 << 6,
31  INTERACT_COMMAND_KEY = 1 << 7,
32  INTERACT_NUMLOCK_KEY = 1 << 8,
33  INTERACT_IS_KEY_PAD = 1 << 9,
34  INTERACT_IS_LEFT = 1 << 10,
35  INTERACT_IS_RIGHT = 1 << 11,
36 };
37 
42 };
43 
45  uint32_t modifiers;
46  int32_t x;
47  int32_t y;
48 };
49 
50 struct obs_key_event {
51  uint32_t modifiers;
52  char *text;
53  uint32_t native_modifiers;
54  uint32_t native_scancode;
55  uint32_t native_vkey;
56 };
INTERACT_SHIFT_KEY
@ INTERACT_SHIFT_KEY
Definition: obs-interaction.h:40
obs_mouse_event::y
int32_t y
Definition: obs-interaction.h:47
obs_mouse_event
Definition: obs-interaction.h:44
INTERACT_IS_KEY_PAD
@ INTERACT_IS_KEY_PAD
Definition: obs-interaction.h:48
obs_key_event::text
char * text
Definition: obs-interaction.h:52
INTERACT_ALT_KEY
@ INTERACT_ALT_KEY
Definition: obs-interaction.h:42
INTERACT_IS_LEFT
@ INTERACT_IS_LEFT
Definition: obs-interaction.h:49
obs_key_event::native_vkey
uint32_t native_vkey
Definition: obs-interaction.h:55
MOUSE_RIGHT
@ MOUSE_RIGHT
Definition: obs-interaction.h:41
INTERACT_NONE
@ INTERACT_NONE
Definition: obs-interaction.h:38
obs_key_event::native_modifiers
uint32_t native_modifiers
Definition: obs-interaction.h:53
INTERACT_IS_RIGHT
@ INTERACT_IS_RIGHT
Definition: obs-interaction.h:50
obs_key_event::native_scancode
uint32_t native_scancode
Definition: obs-interaction.h:54
INTERACT_MOUSE_MIDDLE
@ INTERACT_MOUSE_MIDDLE
Definition: obs-interaction.h:44
INTERACT_CONTROL_KEY
@ INTERACT_CONTROL_KEY
Definition: obs-interaction.h:41
obs_mouse_event::x
int32_t x
Definition: obs-interaction.h:46
obs_mouse_button_type
obs_mouse_button_type
Definition: obs-interaction.h:38
c99defs.h
MOUSE_LEFT
@ MOUSE_LEFT
Definition: obs-interaction.h:39
INTERACT_MOUSE_RIGHT
@ INTERACT_MOUSE_RIGHT
Definition: obs-interaction.h:45
obs_key_event::modifiers
uint32_t modifiers
Definition: obs-interaction.h:51
MOUSE_MIDDLE
@ MOUSE_MIDDLE
Definition: obs-interaction.h:40
obs_interaction_flags
obs_interaction_flags
Definition: obs-interaction.h:22
INTERACT_CAPS_KEY
@ INTERACT_CAPS_KEY
Definition: obs-interaction.h:39
INTERACT_COMMAND_KEY
@ INTERACT_COMMAND_KEY
Definition: obs-interaction.h:46
obs_mouse_event::modifiers
uint32_t modifiers
Definition: obs-interaction.h:45
obs_key_event
Definition: obs-interaction.h:50
INTERACT_NUMLOCK_KEY
@ INTERACT_NUMLOCK_KEY
Definition: obs-interaction.h:47
INTERACT_MOUSE_LEFT
@ INTERACT_MOUSE_LEFT
Definition: obs-interaction.h:43