Open Broadcaster Software
Free, open source software for live streaming and recording
input.h File Reference

Go to the source code of this file.

Macros

#define KBC_ESCAPE   0x0
 
#define KBC_1   0x1
 
#define KBC_2   0x2
 
#define KBC_3   0x3
 
#define KBC_4   0x4
 
#define KBC_5   0x5
 
#define KBC_6   0x6
 
#define KBC_7   0x7
 
#define KBC_8   0x8
 
#define KBC_9   0x9
 
#define KBC_0   0xA
 
#define KBC_MINUS   0xB
 
#define KBC_EQUALS   0xC
 
#define KBC_BACK   0xD
 
#define KBC_TAB   0xE
 
#define KBC_Q   0xF
 
#define KBC_W   0x10
 
#define KBC_E   0x11
 
#define KBC_R   0x12
 
#define KBC_T   0x13
 
#define KBC_Y   0x14
 
#define KBC_U   0x15
 
#define KBC_I   0x16
 
#define KBC_O   0x17
 
#define KBC_P   0x18
 
#define KBC_LBRACKET   0x19
 
#define KBC_RBRACKET   0x1A
 
#define KBC_RETURN   0x1B
 
#define KBC_LCONTROL   0x1C
 
#define KBC_A   0x1D
 
#define KBC_S   0x1E
 
#define KBC_D   0x1F
 
#define KBC_F   0x20
 
#define KBC_G   0x21
 
#define KBC_H   0x22
 
#define KBC_J   0x23
 
#define KBC_K   0x24
 
#define KBC_L   0x25
 
#define KBC_SEMICOLON   0x26
 
#define KBC_APOSTROPHE   0x27
 
#define KBC_TILDE   0x28
 
#define KBC_LSHIFT   0x29
 
#define KBC_BACKSLASH   0x2A
 
#define KBC_Z   0x2B
 
#define KBC_X   0x2C
 
#define KBC_C   0x2D
 
#define KBC_V   0x2E
 
#define KBC_B   0x2F
 
#define KBC_N   0x30
 
#define KBC_M   0x31
 
#define KBC_COMMA   0x32
 
#define KBC_PERIOD   0x33
 
#define KBC_SLASH   0x34
 
#define KBC_RSHIFT   0x35
 
#define KBC_MULTIPLY   0x36
 
#define KBC_LALT   0x37
 
#define KBC_SPACE   0x38
 
#define KBC_CAPSLOCK   0x39
 
#define KBC_F1   0x3A
 
#define KBC_F2   0x3B
 
#define KBC_F3   0x3C
 
#define KBC_F4   0x3D
 
#define KBC_F5   0x3E
 
#define KBC_F6   0x3F
 
#define KBC_F7   0x40
 
#define KBC_F8   0x41
 
#define KBC_F9   0x42
 
#define KBC_F10   0x43
 
#define KBC_NUMLOCK   0x44
 
#define KBC_SCROLLLOCK   0x45
 
#define KBC_NUMPAD7   0x46
 
#define KBC_NUMPAD8   0x47
 
#define KBC_NUMPAD9   0x48
 
#define KBC_SUBTRACT   0x49
 
#define KBC_NUMPAD4   0x4A
 
#define KBC_NUMPAD5   0x4B
 
#define KBC_NUMPAD6   0x4C
 
#define KBC_ADD   0x4D
 
#define KBC_NUMPAD1   0x4E
 
#define KBC_NUMPAD2   0x4F
 
#define KBC_NUMPAD3   0x50
 
#define KBC_NUMPAD0   0x51
 
#define KBC_DECIMAL   0x52
 
#define KBC_F11   0x53
 
#define KBC_F12   0x54
 
#define KBC_NUMPADENTER   0x55
 
#define KBC_RCONTROL   0x56
 
#define KBC_DIVIDE   0x57
 
#define KBC_SYSRQ   0x58
 
#define KBC_RALT   0x59
 
#define KBC_PAUSE   0x5A
 
#define KBC_HOME   0x5B
 
#define KBC_UP   0x5C
 
#define KBC_PAGEDOWN   0x5D
 
#define KBC_LEFT   0x5E
 
#define KBC_RIGHT   0x5F
 
#define KBC_END   0x60
 
#define KBC_DOWN   0x61
 
#define KBC_PAGEUP   0x62
 
#define KBC_INSERT   0x63
 
#define KBC_DELETE   0x64
 
#define MOUSE_LEFTBUTTON   0x65
 
#define MOUSE_MIDDLEBUTTON   0x66
 
#define MOUSE_RIGHTBUTTON   0x67
 
#define MOUSE_WHEEL   0x68
 
#define MOUSE_MOVE   0x69
 
#define KBC_CONTROL   0xFFFFFFFE
 
#define KBC_ALT   0xFFFFFFFD
 
#define KBC_SHIFT   0xFFFFFFFC
 
#define STATE_LBUTTONDOWN   (1 << 0)
 
#define STATE_RBUTTONDOWN   (1 << 1)
 
#define STATE_MBUTTONDOWN   (1 << 2)
 
#define STATE_X4BUTTONDOWN   (1 << 3)
 
#define STATE_X5BUTTONDOWN   (1 << 4)
 

Typedefs

typedef struct input_subsystem input_t
 

Functions

EXPORT int input_getbuttonstate (input_t *input, uint32_t button)
 

Macro Definition Documentation

◆ KBC_0

#define KBC_0   0xA

◆ KBC_1

#define KBC_1   0x1

◆ KBC_2

#define KBC_2   0x2

◆ KBC_3

#define KBC_3   0x3

◆ KBC_4

#define KBC_4   0x4

◆ KBC_5

#define KBC_5   0x5

◆ KBC_6

#define KBC_6   0x6

◆ KBC_7

#define KBC_7   0x7

◆ KBC_8

#define KBC_8   0x8

◆ KBC_9

#define KBC_9   0x9

◆ KBC_A

#define KBC_A   0x1D

◆ KBC_ADD

#define KBC_ADD   0x4D

◆ KBC_ALT

#define KBC_ALT   0xFFFFFFFD

◆ KBC_APOSTROPHE

#define KBC_APOSTROPHE   0x27

◆ KBC_B

#define KBC_B   0x2F

◆ KBC_BACK

#define KBC_BACK   0xD

◆ KBC_BACKSLASH

#define KBC_BACKSLASH   0x2A

◆ KBC_C

#define KBC_C   0x2D

◆ KBC_CAPSLOCK

#define KBC_CAPSLOCK   0x39

◆ KBC_COMMA

#define KBC_COMMA   0x32

◆ KBC_CONTROL

#define KBC_CONTROL   0xFFFFFFFE

◆ KBC_D

#define KBC_D   0x1F

◆ KBC_DECIMAL

#define KBC_DECIMAL   0x52

◆ KBC_DELETE

#define KBC_DELETE   0x64

◆ KBC_DIVIDE

#define KBC_DIVIDE   0x57

◆ KBC_DOWN

#define KBC_DOWN   0x61

◆ KBC_E

#define KBC_E   0x11

◆ KBC_END

#define KBC_END   0x60

◆ KBC_EQUALS

#define KBC_EQUALS   0xC

◆ KBC_ESCAPE

#define KBC_ESCAPE   0x0

◆ KBC_F

#define KBC_F   0x20

◆ KBC_F1

#define KBC_F1   0x3A

◆ KBC_F10

#define KBC_F10   0x43

◆ KBC_F11

#define KBC_F11   0x53

◆ KBC_F12

#define KBC_F12   0x54

◆ KBC_F2

#define KBC_F2   0x3B

◆ KBC_F3

#define KBC_F3   0x3C

◆ KBC_F4

#define KBC_F4   0x3D

◆ KBC_F5

#define KBC_F5   0x3E

◆ KBC_F6

#define KBC_F6   0x3F

◆ KBC_F7

#define KBC_F7   0x40

◆ KBC_F8

#define KBC_F8   0x41

◆ KBC_F9

#define KBC_F9   0x42

◆ KBC_G

#define KBC_G   0x21

◆ KBC_H

#define KBC_H   0x22

◆ KBC_HOME

#define KBC_HOME   0x5B

◆ KBC_I

#define KBC_I   0x16

◆ KBC_INSERT

#define KBC_INSERT   0x63

◆ KBC_J

#define KBC_J   0x23

◆ KBC_K

#define KBC_K   0x24

◆ KBC_L

#define KBC_L   0x25

◆ KBC_LALT

#define KBC_LALT   0x37

◆ KBC_LBRACKET

#define KBC_LBRACKET   0x19

◆ KBC_LCONTROL

#define KBC_LCONTROL   0x1C

◆ KBC_LEFT

#define KBC_LEFT   0x5E

◆ KBC_LSHIFT

#define KBC_LSHIFT   0x29

◆ KBC_M

#define KBC_M   0x31

◆ KBC_MINUS

#define KBC_MINUS   0xB

◆ KBC_MULTIPLY

#define KBC_MULTIPLY   0x36

◆ KBC_N

#define KBC_N   0x30

◆ KBC_NUMLOCK

#define KBC_NUMLOCK   0x44

◆ KBC_NUMPAD0

#define KBC_NUMPAD0   0x51

◆ KBC_NUMPAD1

#define KBC_NUMPAD1   0x4E

◆ KBC_NUMPAD2

#define KBC_NUMPAD2   0x4F

◆ KBC_NUMPAD3

#define KBC_NUMPAD3   0x50

◆ KBC_NUMPAD4

#define KBC_NUMPAD4   0x4A

◆ KBC_NUMPAD5

#define KBC_NUMPAD5   0x4B

◆ KBC_NUMPAD6

#define KBC_NUMPAD6   0x4C

◆ KBC_NUMPAD7

#define KBC_NUMPAD7   0x46

◆ KBC_NUMPAD8

#define KBC_NUMPAD8   0x47

◆ KBC_NUMPAD9

#define KBC_NUMPAD9   0x48

◆ KBC_NUMPADENTER

#define KBC_NUMPADENTER   0x55

◆ KBC_O

#define KBC_O   0x17

◆ KBC_P

#define KBC_P   0x18

◆ KBC_PAGEDOWN

#define KBC_PAGEDOWN   0x5D

◆ KBC_PAGEUP

#define KBC_PAGEUP   0x62

◆ KBC_PAUSE

#define KBC_PAUSE   0x5A

◆ KBC_PERIOD

#define KBC_PERIOD   0x33

◆ KBC_Q

#define KBC_Q   0xF

◆ KBC_R

#define KBC_R   0x12

◆ KBC_RALT

#define KBC_RALT   0x59

◆ KBC_RBRACKET

#define KBC_RBRACKET   0x1A

◆ KBC_RCONTROL

#define KBC_RCONTROL   0x56

◆ KBC_RETURN

#define KBC_RETURN   0x1B

◆ KBC_RIGHT

#define KBC_RIGHT   0x5F

◆ KBC_RSHIFT

#define KBC_RSHIFT   0x35

◆ KBC_S

#define KBC_S   0x1E

◆ KBC_SCROLLLOCK

#define KBC_SCROLLLOCK   0x45

◆ KBC_SEMICOLON

#define KBC_SEMICOLON   0x26

◆ KBC_SHIFT

#define KBC_SHIFT   0xFFFFFFFC

◆ KBC_SLASH

#define KBC_SLASH   0x34

◆ KBC_SPACE

#define KBC_SPACE   0x38

◆ KBC_SUBTRACT

#define KBC_SUBTRACT   0x49

◆ KBC_SYSRQ

#define KBC_SYSRQ   0x58

◆ KBC_T

#define KBC_T   0x13

◆ KBC_TAB

#define KBC_TAB   0xE

◆ KBC_TILDE

#define KBC_TILDE   0x28

◆ KBC_U

#define KBC_U   0x15

◆ KBC_UP

#define KBC_UP   0x5C

◆ KBC_V

#define KBC_V   0x2E

◆ KBC_W

#define KBC_W   0x10

◆ KBC_X

#define KBC_X   0x2C

◆ KBC_Y

#define KBC_Y   0x14

◆ KBC_Z

#define KBC_Z   0x2B

◆ MOUSE_LEFTBUTTON

#define MOUSE_LEFTBUTTON   0x65

◆ MOUSE_MIDDLEBUTTON

#define MOUSE_MIDDLEBUTTON   0x66

◆ MOUSE_MOVE

#define MOUSE_MOVE   0x69

◆ MOUSE_RIGHTBUTTON

#define MOUSE_RIGHTBUTTON   0x67

◆ MOUSE_WHEEL

#define MOUSE_WHEEL   0x68

◆ STATE_LBUTTONDOWN

#define STATE_LBUTTONDOWN   (1 << 0)

◆ STATE_MBUTTONDOWN

#define STATE_MBUTTONDOWN   (1 << 2)

◆ STATE_RBUTTONDOWN

#define STATE_RBUTTONDOWN   (1 << 1)

◆ STATE_X4BUTTONDOWN

#define STATE_X4BUTTONDOWN   (1 << 3)

◆ STATE_X5BUTTONDOWN

#define STATE_X5BUTTONDOWN   (1 << 4)

Typedef Documentation

◆ input_t

typedef struct input_subsystem input_t

Function Documentation

◆ input_getbuttonstate()

EXPORT int input_getbuttonstate ( input_t input,
uint32_t  button 
)