Open Broadcaster Software
Free, open source software for live streaming and recording
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 Sat Mar 31 2018 11:14:15 for Open Broadcaster Software by
1.8.14