Berserk
Classes | Typedefs | Enumerations
Platform

Platform specific functionality abstraction. More...

Classes

class  Application
 Game application main class. More...
 
class  FileSystem
 Target platform file system access and file utils. More...
 
class  GlfwInput
 Glfw input manager implementation. More...
 
class  GlfwInputDefs
 Glfw input defines. More...
 
class  GlfwMouse
 Glfw device implementation. More...
 
class  GlfwKeyboard
 Glfw device implementation. More...
 
class  GlfwJoystick
 Glfw device implementation. More...
 
class  GlfwWindow
 Glfw window implementation. More...
 
class  GlfwWindowManager
 Glfw window manager implementation. More...
 
class  Input
 Engine input manager. More...
 
class  Mouse
 Mouse device state. More...
 
class  Keyboard
 Keyboard device state. More...
 
class  Joystick
 Joystick (gamepad) device state. More...
 
class  Window
 Platform specific OS window for rendering. More...
 
class  WindowManager
 Manager for OS windows. More...
 
class  InputDeviceState
 State of the input device (used primary for joysticks) More...
 
class  InputAction
 Default actions, which occur for basic input device interaction. More...
 
class  InputModifier
 Special keys modifiers (used as bit-vector) More...
 
class  InputModifiers
 Input modifies mask (as a set of bits) More...
 
class  InputMouseButton
 Mouse device buttons. More...
 
class  InputKeyboardKey
 Keyboard device keys. More...
 
class  InputJoystickButton
 Joystick button name. More...
 
class  InputJoystickAxis
 Joystick axis id. More...
 

Typedefs

using InputModifiers = Mask< InputModifier, 5 >
 

Enumerations

enum class  InputDeviceState { Connected , Disconnected , Unknown }
 
enum class  InputAction : uint32 {
  Press = 0 , Release = 1 , Repeat = 2 , Move = 3 ,
  Text = 4 , State = 5 , Unknown = 0xffffffff
}
 
enum class  InputModifier : uint32 {
  Shift = 0 , Alt = 1 , Control = 2 , CapsLock = 3 ,
  NumLock = 4
}
 
enum class  InputMouseButton : uint32 { Left = 0 , Right = 1 , Unknown = 0xffffffff }
 
enum class  InputKeyboardKey : uint32 {
  Space = 0 , Apostrophe = 1 , Comma = 2 , Minus = 3 ,
  Period = 4 , Slash = 5 , BackSlash = 6 , Semicolon = 7 ,
  Equal = 8 , LeftBracket = 9 , RightBracket = 10 , Num0 = 11 ,
  Num1 = 12 , Num2 = 13 , Num3 = 14 , Num4 = 15 ,
  Num5 = 16 , Num6 = 17 , Num7 = 18 , Num8 = 19 ,
  Num9 = 20 , A = 21 , B = 22 , C = 23 ,
  D = 24 , E = 25 , F = 26 , G = 27 ,
  H = 28 , I = 29 , J = 30 , K = 31 ,
  L = 32 , M = 33 , N = 34 , O = 35 ,
  P = 36 , Q = 37 , R = 38 , S = 39 ,
  T = 44 , U = 41 , V = 42 , W = 43 ,
  X = 44 , Y = 45 , Z = 46 , Escape = 47 ,
  Enter = 48 , Tab = 49 , Backspace = 50 , Insert = 51 ,
  Delete = 52 , Right = 53 , Left = 54 , Down = 55 ,
  Up = 56 , PageUp = 57 , PageDown = 58 , Home = 59 ,
  End = 60 , CapsLock = 61 , ScrollLock = 62 , NumLock = 63 ,
  PrintScreen = 64 , Pause = 65 , LeftShift = 66 , LeftControl = 67 ,
  LeftAlt = 68 , LeftSuper = 69 , RightShift = 70 , RightControl = 71 ,
  RightAlt = 72 , RightSuper = 73 , Menu = 74 , F1 = 81 ,
  F2 = 82 , F3 = 83 , F4 = 84 , F5 = 85 ,
  F6 = 86 , F7 = 87 , F8 = 88 , F9 = 89 ,
  F10 = 80 , F11 = 91 , F12 = 92 , Unknown = 0xffffffff
}
 
enum class  InputJoystickButton : uint32 {
  Button0 = 0 , Button1 = 1 , Button2 = 2 , Button3 = 3 ,
  Button4 = 4 , Button5 = 5 , Button6 = 6 , Button7 = 7 ,
  Button8 = 8 , Button9 = 9 , Button10 = 10 , Button11 = 11 ,
  Button12 = 12 , Button13 = 13 , Button14 = 14 , Button15 = 15 ,
  Button16 = 16 , Button17 = 17 , Unknown = 0xffffffff
}
 
enum class  InputJoystickAxis : uint32 {
  Axis0 = 0 , Axis1 = 1 , Axis2 = 2 , Axis3 = 3 ,
  Axis4 = 4 , Axis5 = 5 , Unknown = 0xffffffff
}
 

Detailed Description

Platform specific functionality abstraction.

Provides unified and platform agnostic access to os specific objects, such as file system access, windows and input management and game application core structure. Use this module to access platform specific features.

Typedef Documentation

◆ InputModifiers

Enumeration Type Documentation

◆ InputAction

enum InputAction : uint32
strong
Enumerator
Press 

Button or key is pressed

Release 

Button or key is released

Repeat 

Button or key is repeated (held)

Move 

Mouse (touch axis) moved

Text 

Keyboard unicode text input

State 

Device state changed (for joystick)

Unknown 

Unknown

◆ InputDeviceState

enum InputDeviceState
strong
Enumerator
Connected 
Disconnected 
Unknown 

◆ InputJoystickAxis

enum InputJoystickAxis : uint32
strong
Enumerator
Axis0 
Axis1 
Axis2 
Axis3 
Axis4 
Axis5 
Unknown 

◆ InputJoystickButton

enum InputJoystickButton : uint32
strong
Enumerator
Button0 
Button1 
Button2 
Button3 
Button4 
Button5 
Button6 
Button7 
Button8 
Button9 
Button10 
Button11 
Button12 
Button13 
Button14 
Button15 
Button16 
Button17 
Unknown 

◆ InputKeyboardKey

enum InputKeyboardKey : uint32
strong
Enumerator
Space 
Apostrophe 
Comma 
Minus 
Period 
Slash 
BackSlash 
Semicolon 
Equal 
LeftBracket 
RightBracket 
Num0 
Num1 
Num2 
Num3 
Num4 
Num5 
Num6 
Num7 
Num8 
Num9 
Escape 
Enter 
Tab 
Backspace 
Insert 
Delete 
Right 
Left 
Down 
Up 
PageUp 
PageDown 
Home 
End 
CapsLock 
ScrollLock 
NumLock 
PrintScreen 
Pause 
LeftShift 
LeftControl 
LeftAlt 
LeftSuper 
RightShift 
RightControl 
RightAlt 
RightSuper 
Menu 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
Unknown 

◆ InputModifier

enum InputModifier : uint32
strong
Enumerator
Shift 
Alt 
Control 
CapsLock 
NumLock 

◆ InputMouseButton

enum InputMouseButton : uint32
strong
Enumerator
Left 
Right 
Unknown