Open Broadcaster Software
Free, open source software for live streaming and recording
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
input.h
Go to the documentation of this file.
1
/******************************************************************************
2
Copyright (C) 2013 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
/* TODO: incomplete/may not be necessary */
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
#define KBC_ESCAPE 0x0
27
#define KBC_1 0x1
28
#define KBC_2 0x2
29
#define KBC_3 0x3
30
#define KBC_4 0x4
31
#define KBC_5 0x5
32
#define KBC_6 0x6
33
#define KBC_7 0x7
34
#define KBC_8 0x8
35
#define KBC_9 0x9
36
#define KBC_0 0xA
37
#define KBC_MINUS 0xB
38
#define KBC_EQUALS 0xC
39
#define KBC_BACK 0xD
40
#define KBC_TAB 0xE
41
#define KBC_Q 0xF
42
#define KBC_W 0x10
43
#define KBC_E 0x11
44
#define KBC_R 0x12
45
#define KBC_T 0x13
46
#define KBC_Y 0x14
47
#define KBC_U 0x15
48
#define KBC_I 0x16
49
#define KBC_O 0x17
50
#define KBC_P 0x18
51
#define KBC_LBRACKET 0x19
52
#define KBC_RBRACKET 0x1A
53
#define KBC_RETURN 0x1B
54
#define KBC_LCONTROL 0x1C
55
#define KBC_A 0x1D
56
#define KBC_S 0x1E
57
#define KBC_D 0x1F
58
#define KBC_F 0x20
59
#define KBC_G 0x21
60
#define KBC_H 0x22
61
#define KBC_J 0x23
62
#define KBC_K 0x24
63
#define KBC_L 0x25
64
#define KBC_SEMICOLON 0x26
65
#define KBC_APOSTROPHE 0x27
66
#define KBC_TILDE 0x28
67
#define KBC_LSHIFT 0x29
68
#define KBC_BACKSLASH 0x2A
69
#define KBC_Z 0x2B
70
#define KBC_X 0x2C
71
#define KBC_C 0x2D
72
#define KBC_V 0x2E
73
#define KBC_B 0x2F
74
#define KBC_N 0x30
75
#define KBC_M 0x31
76
#define KBC_COMMA 0x32
77
#define KBC_PERIOD 0x33
78
#define KBC_SLASH 0x34
79
#define KBC_RSHIFT 0x35
80
#define KBC_MULTIPLY 0x36
81
#define KBC_LALT 0x37
82
#define KBC_SPACE 0x38
83
#define KBC_CAPSLOCK 0x39
84
#define KBC_F1 0x3A
85
#define KBC_F2 0x3B
86
#define KBC_F3 0x3C
87
#define KBC_F4 0x3D
88
#define KBC_F5 0x3E
89
#define KBC_F6 0x3F
90
#define KBC_F7 0x40
91
#define KBC_F8 0x41
92
#define KBC_F9 0x42
93
#define KBC_F10 0x43
94
#define KBC_NUMLOCK 0x44
95
#define KBC_SCROLLLOCK 0x45
96
#define KBC_NUMPAD7 0x46
97
#define KBC_NUMPAD8 0x47
98
#define KBC_NUMPAD9 0x48
99
#define KBC_SUBTRACT 0x49
100
#define KBC_NUMPAD4 0x4A
101
#define KBC_NUMPAD5 0x4B
102
#define KBC_NUMPAD6 0x4C
103
#define KBC_ADD 0x4D
104
#define KBC_NUMPAD1 0x4E
105
#define KBC_NUMPAD2 0x4F
106
#define KBC_NUMPAD3 0x50
107
#define KBC_NUMPAD0 0x51
108
#define KBC_DECIMAL 0x52
109
#define KBC_F11 0x53
110
#define KBC_F12 0x54
111
#define KBC_NUMPADENTER 0x55
112
#define KBC_RCONTROL 0x56
113
#define KBC_DIVIDE 0x57
114
#define KBC_SYSRQ 0x58
115
#define KBC_RALT 0x59
116
#define KBC_PAUSE 0x5A
117
#define KBC_HOME 0x5B
118
#define KBC_UP 0x5C
119
#define KBC_PAGEDOWN 0x5D
120
#define KBC_LEFT 0x5E
121
#define KBC_RIGHT 0x5F
122
#define KBC_END 0x60
123
#define KBC_DOWN 0x61
124
#define KBC_PAGEUP 0x62
125
#define KBC_INSERT 0x63
126
#define KBC_DELETE 0x64
127
128
#define MOUSE_LEFTBUTTON 0x65
129
#define MOUSE_MIDDLEBUTTON 0x66
130
#define MOUSE_RIGHTBUTTON 0x67
131
#define MOUSE_WHEEL 0x68
132
#define MOUSE_MOVE 0x69
133
134
#define KBC_CONTROL 0xFFFFFFFE
135
#define KBC_ALT 0xFFFFFFFD
136
#define KBC_SHIFT 0xFFFFFFFC
137
138
#define STATE_LBUTTONDOWN (1<<0)
139
#define STATE_RBUTTONDOWN (1<<1)
140
#define STATE_MBUTTONDOWN (1<<2)
141
#define STATE_X4BUTTONDOWN (1<<3)
142
#define STATE_X5BUTTONDOWN (1<<4)
143
144
/* wrapped opaque data types */
145
struct
input_subsystem;
146
typedef
struct
input_subsystem
input_t
;
147
148
EXPORT
int
input_getbuttonstate
(
input_t
*input,
uint32_t
button);
149
150
#ifdef __cplusplus
151
}
152
#endif
input_t
struct input_subsystem input_t
Definition:
input.h:146
uint32_t
unsigned uint32_t
Definition:
vc_stdint.h:31
input_getbuttonstate
EXPORT int input_getbuttonstate(input_t *input, uint32_t button)
EXPORT
#define EXPORT
Definition:
c99defs.h:49
libobs
graphics
input.h
Generated on Wed Mar 22 2017 08:54:25 for Open Broadcaster Software by
1.8.5